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