Resize¶
- 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 (sequence, int, 或 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
的範例