快捷方式

FiveCrop

class torchvision.transforms.v2.FiveCrop(size: Union[int, Sequence[int]])[原始碼]

將影像或影片裁剪成四個角落和中心裁剪。

如果輸入是 torch.TensorImageVideo,它可以具有任意數量的領先批次維度。 例如,影像可以具有 [..., C, H, W] 形狀。

注意

此轉換會傳回影像元組,並且 Dataset 傳回的輸入和目標數量可能不符。 請參閱下面的範例,了解如何處理這種情況。

參數:

size (序列int) – 裁剪的所需輸出大小。 如果 size 是一個 int 而不是像 (h, w) 這樣的序列,則會進行大小為 (size, size) 的方形裁剪。 如果提供長度為 1 的序列,則將其解釋為 (size[0], size[0])。

範例

>>> class BatchMultiCrop(transforms.Transform):
...     def forward(self, sample: Tuple[Tuple[Union[tv_tensors.Image, tv_tensors.Video], ...], int]):
...         images_or_videos, labels = sample
...         batch_size = len(images_or_videos)
...         image_or_video = images_or_videos[0]
...         images_or_videos = tv_tensors.wrap(torch.stack(images_or_videos), like=image_or_video)
...         labels = torch.full((batch_size,), label, device=images_or_videos.device)
...         return images_or_videos, labels
...
>>> image = tv_tensors.Image(torch.rand(3, 256, 256))
>>> label = 3
>>> transform = transforms.Compose([transforms.FiveCrop(224), BatchMultiCrop()])
>>> images, labels = transform(image, label)
>>> images.shape
torch.Size([5, 3, 224, 224])
>>> labels
tensor([3, 3, 3, 3, 3])

使用 FiveCrop 的範例

轉換的說明

轉換的說明
transform(inpt: Any, params: Dict[str, Any]) Any[source]

用於覆寫自定義轉換的方法。

請參閱 如何撰寫您自己的 v2 轉換

文件

取得 PyTorch 的完整開發人員文件

檢視文件

教學

取得針對初學者和進階開發人員的深入教學

檢視教學

資源

尋找開發資源並取得問題解答

檢視資源