當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch FiveCrop用法及代碼示例


本文簡要介紹python語言中 torchvision.transforms.FiveCrop 的用法。

用法:

class torchvision.transforms.FiveCrop(size)

參數

size(序列或者int) -裁剪的期望輸出大小。如果 size 是 int 而不是 (h, w) 之類的序列,則製作大小為 (size, size) 的方形裁剪。如果提供長度為 1 的序列,它將被解釋為 (size[0], size[0])。

將給定的圖像裁剪成四個角和中央裁剪。如果圖像是 Torch Tensor,它應該具有 […, H, W] 形狀,其中… 表示任意數量的前導維度

注意

此轉換返回圖像元組,並且您的數據集返回的輸入和目標數量可能不匹配。有關如何處理此問題的示例,請參見下文。

示例

>>> transform = Compose([
>>>    FiveCrop(size), # this is a list of PIL Images
>>>    Lambda(lambda crops: torch.stack([ToTensor()(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 的示例:

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torchvision.transforms.FiveCrop。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。