快捷方式

FiveCrop

class torchvision.transforms.FiveCrop(size)[源文件]

将给定的图像裁剪为四个角和中心区域。如果图像是 torch Tensor,其形状应为 […, H, W],其中 … 表示任意数量的前导维度

注意

此变换返回一个图像元组,这可能导致您的 Dataset 返回的输入和目标数量不匹配。请参阅下文了解如何处理此问题。

参数:

size (sequenceint) – 期望的裁剪输出尺寸。如果 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 的示例

变换图示

变换图示
forward(img)[源文件]
参数:

img (PIL 图像Tensor) – 要裁剪的图像。

返回值:

5 个图像的元组。图像可以是 PIL 图像或 Tensor

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源