FileNotFoundError: Couldn’t find any class folder in C:UsersownerPicturesGAN_tranning.

エラーメッセージ「Couldn’t find any class folder in…」は、ImageFolderを使う際にデータセットのフォルダ構造が期待された形式になっていないことを示しています。ImageFolderは、データが以下のようなフォルダ構造になっていることを期待しています:

markdown
root/ class1/ img1.png img2.png ... class2/ img1.png img2.png ... ...

つまり、rootフォルダ内に各クラスごとのサブフォルダがあり、その中に画像ファイルが配置されている必要があります。もしデータにクラスの概念がなく、すべての画像が単一のクラスであるなら、データを適切にロードするために、すべての画像を含む1つのフォルダをクラスフォルダとして設定する必要があります。

例えば、すべての画像をclass1というフォルダにまとめるとします。

  1. 画像データのフォルダ構造を以下のように変更します:
makefile
C:UsersownerPicturesGAN_tranning class1 img1.png img2.png ...
  1. コードでこのパスを指定します:
python
from torchvision import datasets, transforms from torch.utils.data import DataLoader # データセットの準備 transform = transforms.Compose([ transforms.Resize(64), transforms.CenterCrop(64), transforms.ToTensor(), transforms.Normalize([0.5], [0.5]) ]) dataset_path = 'C:\Users\owner\Pictures\GAN_tranning' # データセットパスを指定 # データセットを読み込む dataset = datasets.ImageFolder(dataset_path, transform=transform) dataloader = DataLoader(dataset, batch_size=128, shuffle=True) # データセットの確認 print(f"Number of images: {len(dataset)}") print(f"Number of classes: {len(dataset.classes)}")

注意点

  • フォルダパスはWindowsのパスに合わせて\で区切っています。
  • フォルダ構造が正しいことを確認してください。

この変更により、ImageFolderが期待する形式のデータセットを準備し、コードが正常に動作するようになります。

未分類

Posted by ぼっち