У меня была возможность поработать над этим за день до этого.
Если ваш DataLoader
примерно такой:
test_loader = DataLoader(image_datasets['val'], batch_size=batch_size, shuffle=True)
он дает вам партию размером batch_size
, вы можете выбратьодин случайный пример путем прямой индексации полученной выборки, что-то вроде этого:
for test_images, test_labels in test_loader:
sample_image = test_images[0] # Reshape them according to your needs.
sample_label = test_labels[0]
Альтернатива 1 :
Вы можете использовать RandomSampler для получения случайных выборокдля получения случайных выборок.
Альтернатива 2 :
Используйте batch_size
из 1 в вашем DataLoader.
Альтернатива 3 :
Непосредственно берите образцы из вашего DataSet следующим образом:
mnist_test = datasets.MNIST('../MNIST/', train=False, transform=transform, target_transform=None)
Теперь используйте этот набор данных для взятия образцов:
for image, label in mnist_test:
# do something with image and other attributes
Альтернатива 4: (вероятно, лучший)
inputs, classes = next(iter(dataloader))
Смотрите здесь .