比较与torchvision.transforms.RandomResizedCrop的差异
torchvision.transforms.RandomResizedCrop
class torchvision.transforms.RandomResizedCrop(size, scale=(0.08, 1.0), ratio=(0.75, 1.3333333333333333), interpolation=InterpolationMode.BILINEAR)
mindspore.dataset.vision.RandomResizedCrop
class mindspore.dataset.vision.RandomResizedCrop(size, scale=(0.08, 1.0), ratio=(3. / 4., 4. / 3.), interpolation=Inter.BILINEAR, max_attempts=10)
差异对比
PyTorch:对输入图像进行随机裁剪,并使用指定的插值方式将图像调整为指定的尺寸大小。
MindSpore:对输入图像进行随机裁剪,并使用指定的插值方式将图像调整为指定的尺寸大小。
| 分类 | 子类 | PyTorch | MindSpore | 差异 | 
|---|---|---|---|---|
| 参数 | 参数1 | size | size | - | 
| 参数2 | scale | scale | - | |
| 参数3 | ratio | ratio | - | |
| 参数4 | interpolation | interpolation | - | |
| 参数5 | - | max_attempts | 生成随机裁剪位置的最大尝试次数,超过该次数时将使用中心裁剪 | 
代码示例
from download import download
from PIL import Image
url = "https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/datasets/flamingos.jpg"
download(url, './flamingos.jpg', replace=True)
orig_img = Image.open('flamingos.jpg')
# PyTorch
import torchvision.transforms as T
op = T.RandomResizedCrop((32, 32), scale=(0.08, 1.0), ratio=(0.75, 0.8))
img_torch =op(orig_img)
print(img_torch.size)
# Out: (32, 32)
# MindSpore
import mindspore.dataset.vision as vision
op = vision.RandomResizedCrop((32, 32), scale=(0.08, 1.0), ratio=(0.75, 0.8))
img_ms = op(orig_img)
print(img_ms.size)
# Out: (32, 32)