TenCrop¶
- class torchvision.transforms.TenCrop(size, vertical_flip=False)[原始碼]¶
將給定的影像裁剪為四個角落和中心裁剪,再加上這些的翻轉版本(預設使用水平翻轉)。如果影像為 torch Tensor,則預期其形狀為 […, H, W],其中 … 表示任意數量的 leading dimensions
注意
此轉換會傳回影像元組,而且您 Dataset 傳回的輸入和目標數量可能不符。請參閱下方範例,了解如何處理此問題。
- 參數:
範例
>>> transform = Compose([ >>> TenCrop(size), # this is a tuple 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