実現したいこと(条件)
- Pytorchを利用して、
- MNISTデータの各数字100枚ずつ計1000枚のデータセットを作り、
- このデータセットに回転と拡大縮小のデータ水増し操作を加えたい。
現状
2番の条件を満たすために、scikit-learnのtrain_test_splitにstratifyを設定するのが最適と思ったので、
MNISTデータの読み込みおよび各数字100枚ずつのデータセット(X_train, y_train)作成には、scikit-learnを利用しました。
このX_trainに対して、条件3の水増し操作を適用したいのです。
闇雲に下記を試しましたが、TensorDatasetにtransformの引数はないとエラーが出力されました。
Python
1import torch 2from torch.utils.data import DataLoader, TensorDataset 3import torchvision.transforms as transforms 4 5#データ水増しの定義 6transform = transforms.Compose([ 7 transforms.RandomAffine([0,30], scale=(0.8, 1.2)), 8 transforms.ToTensor(), 9]) 10 11#Dataset化 12ds_train = TensorDataset(X_train, y_train, transform=transform)
ErrorMessage
1TypeError: __init__() got an unexpected keyword argument 'transform'
非常に基本的な点で恐縮ですが、ご助言いただけますと幸いです。
上記は、scikit-learnで取り出したデータセットに対して、データ水増しを適用させる方法の問い合わせとなっておりますが、
そもそもPytorchの関数を使って各数字100枚ずつとなるようなデータセットが作成できるなど、最初に挙げた3つの条件が満たされれば、どういった方法でも構いません。
よろしくお願いいたします。
あなたの回答
tips
プレビュー