TenCrop¶
- class torchvision.transforms.TenCrop(size, vertical_flip=False)[source]¶
将给定图像裁剪成四个角和中心裁剪,以及它们的翻转版本(默认使用水平翻转)。如果图像为 torch 张量,则它应该具有 […, H, W] 形状,其中 … 表示任意数量的领先维度
注意
此转换返回一个图像元组,并且你的 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