調整大小¶
- class torchvision.transforms.v2.Resize(size: Optional[Union[int, Sequence[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, max_size: Optional[int] = None, antialias: Optional[bool] = True)[原始碼]¶
將輸入調整為指定大小。
如果輸入是
torch.Tensor或TVTensor(例如Image,Video,BoundingBoxes等),它可以具有任意數量的前導批處理維度。例如,影像可以具有[..., C, H, W]形狀。邊界框可以具有[..., 4]形狀。- 引數:
size (sequence, int, or None) –
期望的輸出大小。
如果 size 是一個序列,例如 (h, w),則輸出大小將與其匹配。
如果 size 是一個整數,影像的較短邊將與之匹配。即,如果高 > 寬,則影像將縮放到 (size * height / width, size)。
如果 size 為 None,則輸出形狀由
max_size引數決定。
注意
在 torchscript 模式下,不支援將 size 作為單個整數,請使用長度為 1 的序列:
[size, ]。interpolation (InterpolationMode, optional) – 由
torchvision.transforms.InterpolationMode定義的期望的插值列舉。預設為InterpolationMode.BILINEAR。如果輸入是 Tensor,則僅支援InterpolationMode.NEAREST、InterpolationMode.NEAREST_EXACT、InterpolationMode.BILINEAR和InterpolationMode.BICUBIC。也接受相應的 Pillow 整數常量,例如PIL.Image.BILINEAR。max_size (int, optional) –
調整大小後的影像較長邊的最大允許值。
如果
size是一個整數:如果影像的較長邊在根據size調整大小時大於max_size,則size將被覆蓋,以便較長邊等於max_size。結果是,較短邊可能小於size。這僅在size是整數(或在 torchscript 模式下是長度為 1 的序列)時才受支援。如果
size為 None:影像的較長邊將與 max_size 匹配。即,如果高 > 寬,則影像將縮放到 (max_size, max_size * width / height)。
當
size是序列時,應將其保留為None(預設值)。antialias (bool, optional) –
是否應用抗鋸齒。它僅影響雙線性或雙三次模式下的張量,否則將被忽略:在 PIL 影像上,雙線性或雙三次模式始終應用抗鋸齒;在其他模式下(對於 PIL 影像和張量),抗鋸齒沒有意義,此引數將被忽略。可能的值為
True(預設):將對雙線性或雙三次模式應用抗鋸齒。其他模式不受影響。這可能是您想要使用的。False:將不對任何模式下的張量應用抗鋸齒。PIL 影像在雙線性或雙三次模式下仍然進行抗鋸齒處理,因為 PIL 不支援無抗鋸齒。None:對於張量相當於False,對於 PIL 影像相當於True。此值存在是為了相容性,除非您真的知道自己在做什麼,否則可能不希望使用它。
預設值在 v0.17 中從
None更改為True,以使 PIL 和 Tensor 後端保持一致。
使用
Resize的示例