17 Transforms.RandomResizedCrop()
transforms.RandomResizedCrop()
参考链接:
https://zhuanlan.zhihu.com/p/53367135
https://blog.csdn.net/thequitesunshine007/article/details/118703054
https://zhuanlan.zhihu.com/p/104547138
在处理图像时,一般有如下操作:
#训练集数据扩充和归一化
#在验证集上仅需要归一化
data_transforms = {
'train': transforms.Compose([
transforms.RandomResizedCrop(224), #随机裁剪一个area然后再resize
transforms.RandomHorizontalFlip(), #随机水平翻转
transforms.ToTensor(),#归一化到[0.0,1.0]
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])#归一化到[-1.0,1.0]
]),
'val': transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
}
函数定义:
torchvision.transforms.RandomResizedCrop(
size, # 要么是(h,w),若是一个int,就是(size,size)
scale=(0.08,1.0), # 随机剪裁的大小区间,上体来说,crop出来的图片会在0.08倍到1倍之间
ratio=(0.75,1.33), # 随机长宽比设置在(0.75,1.33)之间
interpolation=2 # 插值的方法
)