2016-07-11 82 views
9

Sto cercando di imparare TensorFlow e ho implementato l'esempio MNIST dal seguente link: http://openmachin.es/blog/tensorflow-mnist Voglio poter visualizzare effettivamente le immagini di addestramento/test. Così sto cercando di aggiungere il codice che mostrerà la prima immagine del treno del primo lotto:TensorFlow - Mostra immagine da MNIST DataSet

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

Ora, perché i dati sono nel tipo di float32 (con i valori in [0,1] intervallo), I ho provato a convertirlo in uint16 e poi a codificarlo in png per mostrare l'immagine. Ho provato a usare tf.image.convert_image_dtype and tf.image.encode_png, ma senza successo. Potete per favore aiutarmi a capire come posso convertire i dati grezzi in un'immagine e mostrare l'immagine?

+0

Eventuali duplicati [immagine MNIST display utilizzando matplotlib] di (https : //stackoverflow.com/questions/42353676/display-mnist-image-using-matplotlib) –

risposta

8

Dopo aver letto il tutorial si può fare tutto in NumPy senza bisogno di 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") 

È inoltre possibile utilizzare PIL o qualsiasi strumento di visualizzazione siete in.

+0

Desidero salvare l'immagine tramite TensorFlow in un formato leggibile da Windows, quindi aprire l'immagine nel visualizzatore di immagini di Windows. Come posso farlo? – JonyK

+0

Devi solo usare 'plt.savefig' per salvare il grafico dopo le righe che ho scritto, ma la tua domanda originale era solo per la visualizzazione. – jean

+0

Forse non hai familiarità con matplotlib modificherai la mia risposta per renderla più adatta alle tue esigenze. – jean

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

questo funziona.

0

In cima i codici presenti nella MNIST tutorial per principianti ML, è possibile visualizzare l'immagine nel set di dati 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