- 之前一直搞不清出PyTorch的transform的作用原理以及應(yīng)該如何使用pytorch做數(shù)據(jù)增強(qiáng)恕刘,看了上面的引用中的回答總算明白了必尼,在從dataloader中獲取訓(xùn)練數(shù)據(jù)的時(shí)候(獲取每個(gè)epoch的時(shí)候)他
會(huì)把下面Compose里面的transform都做一遍
蒋搜,但是由于里面有的操作有random屬性(下面例子中只有RandomHorizontlFlip有隨機(jī)屬性篡撵,有的epoch做有的epoch不做),所以每個(gè)epoch對(duì)圖片的處理方式都不盡相同
豆挽,所以到達(dá)了數(shù)據(jù)增強(qiáng)的目的育谬。
data_transform={'train':transforms.Compose([
transforms.RandomHorizontalFlip(),
transforms.Resize(image_size),
transforms.CenterCrop(image_size),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
-
可以通過這種方式將一個(gè)不是隨機(jī)的transform變成一個(gè)隨機(jī)的transform
-
雖然名字沒帶隨機(jī),但是卻是對(duì)圖像亮度對(duì)比度進(jìn)行了隨機(jī)的變換帮哈。
- 對(duì)圖像進(jìn)行隨機(jī)的crop以后再resize成固定大小
transforms.RandomResizedCrop(size=224, scale=(0.5, 1.0)),