J'utilise l'ensemble de données cifar-10 pour mon classifieur. J'ai téléchargé le jeu de données et essayé d'afficher une image à partir du jeu de données. J'ai utilisé le code suivant:
from six.moves import cPickle as pickle
from PIL import Image
import numpy as np
f = open('/home/jayanth/udacity/cifar-10-batches-py/data_batch_1', 'rb')
tupled_data= pickle.load(f, encoding='bytes')
f.close()
img = tupled_data[b'data']
single_img = np.array(img[5])
single_img_reshaped = single_img.reshape(32,32,3)
plt.imshow(single_img_reshaped)
la description des données est la suivante: Chaque tableau stocke une image couleur 32x32. Les 1024 premières entrées contiennent les valeurs du canal rouge, les 1024 suivantes le vert et les 1024 dernières le bleu. L'image est stockée dans l'ordre des lignes principales, de sorte que les 32 premières entrées du tableau correspondent aux valeurs de canal rouge de la première ligne de l'image.
Ma mise en œuvre est-elle correcte?
J'ai utilisé
single_img_reshaped = np.transpose(np.reshape(single_img,(3, 32,32)), (1,2,0))
pour obtenir le format correct dans mon programme.
single_img_reshaped = single_img.reshape(3,32,32).transpose([1, 2, 0])