快捷方式

FiveCrop

class torchvision.transforms.FiveCrop(size)[原始碼]

將給定影像裁剪成四個角和一箇中心裁剪。如果影像是 torch Tensor,則期望其形狀為 […, H, W],其中 … 表示任意數量的前導維度。

注意

此變換返回一個影像元組,並且您的 Dataset 返回的輸入和目標數量可能不匹配。有關如何處理此問題,請參閱下面的示例。

引數:

size (sequenceint) – 期望的裁剪輸出大小。如果 size 是一個 int 而不是像 (h, w) 這樣的序列,則會建立一個大小為 (size, size) 的正方形裁剪。如果提供長度為 1 的序列,它將被解釋為 (size[0], size[0])。

示例

>>> transform = Compose([
>>>    FiveCrop(size), # this is a list of PIL Images
>>>    Lambda(lambda crops: torch.stack([PILToTensor()(crop) for crop in crops])) # returns a 4D tensor
>>> ])
>>> #In your test loop you can do the following:
>>> input, target = batch # input is a 5d tensor, target is 2d
>>> bs, ncrops, c, h, w = input.size()
>>> result = model(input.view(-1, c, h, w)) # fuse batch size and ncrops
>>> result_avg = result.view(bs, ncrops, -1).mean(1) # avg over crops

使用 FiveCrop 的示例

轉換圖示

轉換圖示
forward(img)[原始碼]
引數:

img (PIL ImageTensor) – 要裁剪的影像。

返回:

5 個影像的元組。影像可以是 PIL Image 或 Tensor。

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

為初學者和高階開發者提供深入的教程

檢視教程

資源

查詢開發資源並讓您的問題得到解答

檢視資源