2016-07-11 11 views
9

J'essaie d'apprendre TensorFlow et j'ai mis en œuvre l'exemple MNIST à partir du lien suivant: http://openmachin.es/blog/tensorflow-mnist Je veux être en mesure de voir réellement les images d'entraînement/de test. Je suis en train d'ajouter du code qui montrera la première image de train du premier lot:TensorFlow - Afficher l'image de MNIST DataSet

x_i = batch_xs[0] 
image = tf.reshape(x_i,[28,28]) 

maintenant, car les données sont dans le type de float32 (avec des valeurs dans la gamme [0,1]), je essayé de le convertir en uint16 puis de l'encoder en png afin de montrer l'image. J'ai essayé d'utiliser tf.image.convert_image_dtype and tf.image.encode_png, mais sans succès. Pouvez-vous m'aider s'il vous plaît à comprendre comment puis-je convertir les données brutes en une image et montrer l'image?

+0

double possible de [Afficher l'image MNIST en utilisant matplotlib] (https : //stackoverflow.com/questions/42353676/display-mnist-image-using-matplotlib) –

Répondre

8

Après avoir lu le tutoriel, vous pouvez faire tout cela ne numpy besoin de TF:

import matplotlib.pyplot as plt 
first_array=batch_xs[0] 
#Not sure you even have to do that if you just want to visualize it 
#first_array=255*first_array 
#first_array=first_array.astype("uint8") 
plt.imshow(first_array) 
#Actually displaying the plot if you are not in interactive mode 
plt.show() 
#Saving plot 
plt.savefig("fig.png") 

Vous pouvez également utiliser PIL ou tout autre outil de visualisation que vous êtes en.

+0

Je veux enregistrer l'image via TensorFlow dans un format lisible par les fenêtres, puis ouvrir l'image dans la visionneuse d'images Windows. Comment puis-je faire cela? – JonyK

+0

Il suffit d'utiliser 'plt.savefig' pour enregistrer l'intrigue après les lignes que j'ai écrites, mais votre question initiale était uniquement pour l'affichage. – jean

+0

Peut-être que vous n'êtes pas familier avec matplotlib, je vais modifier ma réponse pour le rendre plus adapté à vos besoins. – jean

2
X = X.reshape([28, 28]); 
plt.gray() 
plt.imshow(X) 

cela fonctionne.

0

En plus des codes dans le MNIST tutoriel pour les débutants ML, vous pouvez visualiser l'image dans l'ensemble de données mnist:

import matplotlib.pyplot as plt 
batch = mnist.train.next_batch(1) 
plotData = batch[0] 
plotData = plotData.reshape(28, 28) 
plt.gray() # use this line if you don't want to see it in color 
plt.imshow(plotData) 
plt.show() 

enter image description here