調整大小¶
- 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)[source]¶
將輸入調整到給定尺寸。
如果輸入是
torch.Tensor或TVTensor(例如Image,Video,BoundingBoxes等),它可以包含任意數量的前導批次維度。例如,影像的形狀可以為[..., C, H, W]。邊界框的形狀可以為[..., 4]。- 引數:
size (序列, 整型, 或 None) –
期望的輸出尺寸。
如果 size 是像 (h, w) 這樣的序列,則輸出尺寸將與此匹配。
如果 size 是一個整型數,則影像的較短邊將匹配到此數字。即,如果 height > width,則影像將被重新縮放為 (size * height / width, size)。
如果 size 為 None,則輸出形狀由引數
max_size決定。
注意
在 torchscript 模式下,不支援將 size 作為單個整型數,請使用長度為 1 的序列:
[size, ]。interpolation (InterpolationMode, 可選) – 期望的插值列舉,由
torchvision.transforms.InterpolationMode定義。預設為InterpolationMode.BILINEAR。如果輸入是 Tensor,僅支援InterpolationMode.NEAREST、InterpolationMode.NEAREST_EXACT、InterpolationMode.BILINEAR和InterpolationMode.BICUBIC。也接受相應的 Pillow 整型常量,例如PIL.Image.BILINEAR。max_size (整型, 可選) –
調整大小後的影像長邊的最大允許尺寸。
如果
size是一個整型數:如果影像的長邊在根據size調整大小後大於max_size,則size將被覆蓋,使得長邊等於max_size。結果是,短邊可能會小於size。僅當size是一個整型數(或在 torchscript 模式下是長度為 1 的序列)時支援此功能。如果
size為 None:影像的長邊將匹配到 max_size。即,如果 height > width,則影像將被重新縮放為 (max_size, max_size * width / height)。
當
size是一個序列時,此引數應保持None(預設值)。antialias (布林型, 可選) –
是否應用抗鋸齒。它僅影響雙線性或雙三次模式下的 tensor,在其他情況下會被忽略:對於 PIL 影像,在雙線性或雙三次模式下總是應用抗鋸齒;對於其他模式(PIL 影像和 tensor),抗鋸齒沒有意義,此引數將被忽略。可能的值為
True(預設):將對雙線性或雙三次模式應用抗鋸齒。其他模式不受影響。這可能是您想要使用的設定。False:將不對 tensor 在任何模式下應用抗鋸齒。PIL 影像在雙線性或雙三次模式下仍然會應用抗鋸齒,因為 PIL 不支援關閉抗鋸齒。None:對於 tensor 等同於False,對於 PIL 影像等同於True。此值是出於相容性原因而存在,除非您非常清楚自己在做什麼,否則可能不希望使用它。
預設值在 v0.17 中從
None更改為True,以使 PIL 和 Tensor 後端保持一致。
使用
Resize的示例