1 .torchvision.datasets : 壹些加載數據的函數及常用的數據集接口;
2. torchvision.models : 包含常用的模型結構(含預訓練模型),例如AlexNet、VGG、ResNet等;
3. torchvision.transforms : 常用的圖片變換,例如裁剪、旋轉等;
4. torchvision.utils : 其他的壹些有用的方法。
pytorch中的transforms模塊中包含了很多種對圖像數據進行變換的函數,這些都是在我們進行圖像數據讀入步驟中必不可少的。這個類的主要作用是串聯多個圖片變換的操作。
import torchvision
data_transform = torchvision.transforms.Compose([
# 隨機縮放裁剪 size 224*224
torchvision.transforms.RandomResizedCrop(224),
# 隨機裁剪 size 224*224
torchvision.transforms.RandomCrop(224),
# 中心裁剪 size 224*224
torchvision.transforms.CenterCrop(224),
# 將圖片的尺寸 Resize 到128*128 不裁剪
torchvision.transforms.Resize((128,128)),
# 轉為張量並歸壹化到[0,1](是將數據除以255),且會把H*W*C會變成C *H *W
torchvision.transforms.ToTensor(),
? ? # 數據歸壹化處理,3個通道中的數據整理理到[-1, 1]區間。3個通道,故有3個值。該[0.485, 0.456, 0.406]這壹組平均值是從imagenet訓練集中抽樣算出來的。
? ? # ToTensor()的[0,1]只是範圍改變了, 並沒有改變分布,mean和std處理後可以讓數據正態分布
torchvision.transforms.Normalize(mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225]),
])