2017-11-29 6 views
0

Ich versuche Bilder mit "ImageFolder" zu laden.Pytorch: Bilder können nicht mit ImageFolder geladen werden

data_dir = './train_dog'   # directory structure is  
train_dog/image 
dset = datasets.ImageFolder(data_dir, transform) 
train_loader = torch.utils.data.DataLoader(dset, batch_size=128, shuffle=True) 

Allerdings scheint es nicht zu funktionieren. So überprüfte ich die gespeicherten Daten, wie unten

print dset[0][0] 

Dann zeigt es nur 3 Tensoren (Größe 64x64).

[torch.FloatTensor of size 3x64x64] 

Im Ordner befinden sich mehr als 10.000 Bilder. Warum kann es nicht alle Daten speichern?

+0

Sie sollten Ihren Beitrag verbessern, es ist nicht klar, was Sie fragen. – jdhao

Antwort

1

Sie sollten dies versuchen:

print len(dset) 

, die die Größe des Datensatzes darstellt, auch bekannt als die Anzahl der Bilddateien.

dset[0] bedeutet der (gemischte) erste Index des Datensatzes, wobei dset[0][0] den Eingangsbildtensor enthält und dset[0][1] die entsprechende Bezeichnung oder das entsprechende Ziel enthält.

+0

Danke! es funktionierte. Aber es zeigt Datei "gan_scratch.py", Zeile 258, in mini_batch = x_.size() [0] AttributError: 'Liste' Objekt hat kein Attribut 'Größe' –

+0

x_ enthält Bilder geladen, aber warum aren ' t sie Tensor aber Liste? –

Verwandte Themen