Torchでデータをどのように前処理しますか?

Torch内では、データの前処理にtorchvision.transformsモジュールを使用することができます。一般的なデータ前処理操作には、以下のものが含まれます。

  1. 変形サイズ
  2. 中央を中心に切り取る
  3. ランダムに水平方向に反転するtransforms.RandomHorizontalFlip
  4. ランダムに回転を行うtransforms.RandomRotation
  5. 白黒に変換します。
  6. transforms.Normalizeを使う
  7. 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)
广告
広告は10秒後に閉じます。
bannerAds