17 Transforms.RandomResizedCrop()

transforms.RandomResizedCrop()

参考链接:

https://zhuanlan.zhihu.com/p/53367135

https://blog.csdn.net/thequitesunshine007/article/details/118703054

https://blog.csdn.net/see_you_yu/article/details/106722787?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-2.no_search_link

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		# 插值的方法
)

简单测试:

https://github.com/SethDeng/torchvision.transforms-test

posted @ 2021-12-02 12:47  SethDeng  阅读(1889)  评论(0编辑  收藏  举报