Torchでデータをどのように前処理しますか?
Torch内では、データの前処理にtorchvision.transformsモジュールを使用することができます。一般的なデータ前処理操作には、以下のものが含まれます。
- 変形サイズ
- 中央を中心に切り取る
- ランダムに水平方向に反転するtransforms.RandomHorizontalFlip
- ランダムに回転を行うtransforms.RandomRotation
- 白黒に変換します。
- transforms.Normalizeを使う
- transforms.ToTensor を利用してください。
以下は、データの前処理にtransformsを使用する方法を示す例です。
import torchvision.transforms as transforms
# 定义预处理操作
data_transform = transforms.Compose([
transforms.Resize(256), # 将图片缩放为 256x256
transforms.CenterCrop(224), # 将图片裁剪为 224x224
transforms.RandomHorizontalFlip(), # 随机水平翻转图片
transforms.ToTensor(), # 将图片转换为张量
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) # 归一化图片像素值
])
# 加载数据集并应用预处理操作
train_dataset = torchvision.datasets.ImageFolder(root='path/to/train/data', transform=data_transform)