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'