在 Torch 中,可以使用 torchvision.transforms
模塊來對數(shù)據(jù)進行預處理。常見的數(shù)據(jù)預處理操作包括:
transforms.Resize
和 transforms.CenterCrop
。transforms.RandomHorizontalFlip
和 transforms.RandomRotation
。transforms.Grayscale
和 transforms.Normalize
。transforms.ToTensor
。以下是一個示例,展示如何使用 transforms
對數(shù)據(jù)進行預處理:
import torchvision.transforms as transforms
# 定義預處理操作
data_transform = transforms.Compose([
transforms.Resize(256), # 將圖片縮放為 256x256
transforms.CenterCrop(224), # 將圖片裁剪為 224x224
transforms.RandomHorizontalFlip(), # 隨機水平翻轉(zhuǎn)圖片
transforms.ToTensor(), # 將圖片轉(zhuǎn)換為張量
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) # 歸一化圖片像素值
])
# 加載數(shù)據(jù)集并應用預處理操作
train_dataset = torchvision.datasets.ImageFolder(root='path/to/train/data', transform=data_transform)