FiveCrop¶
- class torchvision.transforms.FiveCrop(size)[原始檔]¶
將給定的影像裁剪為四個角和中心區域。如果影像是 torch Tensor,其形狀應為 […, H, W],其中 … 表示任意數量的前導維度
注意
此變換返回一個影像元組,這可能導致您的 Dataset 返回的輸入和目標數量不匹配。請參閱下文了解如何處理此問題。
- 引數:
size (sequence 或 int) – 期望的裁剪輸出尺寸。如果 size 是
int而非 (h, w) 這樣的 sequence,則將建立一個尺寸為 (size, size) 的正方形裁剪。如果提供長度為 1 的 sequence,則將其解釋為 (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的示例