2016-07-11 17 views
9

Ich versuche TensorFlow zu lernen und habe das MNIST-Beispiel aus dem folgenden Link implementiert: http://openmachin.es/blog/tensorflow-mnist Ich möchte in der Lage sein, die Trainings-/Testbilder tatsächlich anzuzeigen. So versucht ich Code hinzufügen, den ersten Zug Bild der ersten Partie zeigen:TensorFlow - Zeige Bild von MNIST DataSet

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

Nun, da die Daten in Typ float32 ist (mit Werten in [0,1] -Bereich), I versuchte es in uint16 umzuwandeln und dann in png zu codieren, um das Bild zu zeigen. Ich versuchte mit tf.image.convert_image_dtype and tf.image.encode_png, aber ohne Erfolg. Können Sie mir bitte helfen, zu verstehen, wie kann ich die rohen Daten in ein Bild umwandeln und das Bild zeigen?

+0

Mögliche Duplikat [Display MNIST Bild mit matplotlib] (https : //stackoverflow.com/questions/42353676/display-mnist-image-using-matplotlib) –

Antwort

8

Nach dem Tutorial lesen Sie alles in numpy keine Notwendigkeit für TF tun können:

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") 

können Sie auch PIL verwenden oder Werkzeug was auch immer Visualisierung Sie in sind.

+0

Ich möchte das Bild über TensorFlow in einigen Windows-lesbaren Format speichern, und öffnen Sie das Bild im Windows-Bildbetrachter. Wie kann ich das tun? – JonyK

+0

Sie müssen nur 'plt.savegig' verwenden, um die Zeichnung nach den Zeilen zu speichern, die ich geschrieben habe, aber Ihre ursprüngliche Frage wurde nur zur Anzeige gestellt. – jean

+0

Vielleicht sind Sie mit Matplotlib nicht vertraut. Ich werde meine Antwort modifizieren, um sie besser an Ihre Bedürfnisse anzupassen. – jean

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

das funktioniert.

0

Auf der Codes im Tutorial MNIST für ML Anfänger, können Sie das Bild im mnist-Datensatz visualisiert:

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