8

PyTorch を使用して単純な画像分類子を作成しようとしています。これは、データをデータセットと dataLoader にロードする方法です。

batch_size = 64
validation_split = 0.2
data_dir = PROJECT_PATH+"/categorized_products"
transform = transforms.Compose([transforms.Grayscale(), CustomToTensor()])

dataset = ImageFolder(data_dir, transform=transform)

indices = list(range(len(dataset)))

train_indices = indices[:int(len(indices)*0.8)] 
test_indices = indices[int(len(indices)*0.8):]

train_sampler = SubsetRandomSampler(train_indices)
test_sampler = SubsetRandomSampler(test_indices)

train_loader = torch.utils.data.DataLoader(dataset, batch_size=batch_size, sampler=train_sampler, num_workers=16)
test_loader = torch.utils.data.DataLoader(dataset, batch_size=batch_size, sampler=test_sampler, num_workers=16)

次のように、トレーニング データとテスト データの各クラスの画像数を個別に出力したいと思います。

列車データ:

  • 靴: 20
  • シャツ: 14

テストデータでは:

  • 靴: 4
  • シャツ: 3

私はこれを試しました:

from collections import Counter
print(dict(Counter(sample_tup[1] for sample_tup in dataset.imgs)))

しかし、私はこのエラーが発生しました:

AttributeError: 'MyDataset' object has no attribute 'img'
4

2 に答える 2