Ricerca…


introduzione

Esistono molti modi per visualizzare i livelli convoluzionali, ma condividono le stesse componenti: il recupero dei valori di una parte delle reti neurali convoluzionali e la visualizzazione di tali valori. Nota quelle visualizzazioni non dovrebbero e non possono essere visualizzate sul TensorBoard.

Un esempio di base di 2 passaggi

Nell'esempio si presuppone che l'utente abbia eseguito correttamente e compreso completamente il tutorial di MNIST ( Deep MNIST per esperti ).

%matplotlib inline
import matplotlib.pyplot as plt

# con_val is a 4-d array, the first indicates the index of image, the last indicates the index of kernel
def display(con_val, kernel):
    plt.axis('off')
    plt.imshow(np.sum(con_val[:, :, :, kernel], axis=0), cmap=plt.get_cmap('gray'))
    plt.show()

La funzione sopra mostra una matrice (con_val) contenente i valori di un layer convoluzionale dato il kernel. La funzione riassume i valori di tutti gli esempi e li traccia in scala di grigi.

I seguenti codici prelevano i valori dal primo strato convoluzionale e richiamano la funzione sopra riportata.

labels = np.nonzero(mnist.test.labels)[1] # convert "one-hot vectors" to digits (0-9)

for i in range(2): # display only 0 and 1
    con_val = h_pool1.eval(feed_dict={x:mnist.test.images[labels == i, :]}) #fetch
    display(con_val, 3)

I codici tracciano solo le visualizzazioni corrispondenti alle etichette di 0 e 1. Sarai in grado di vedere i risultati come questi. Visulizzazione del primo strato convoluzionale della cifra 1 Visulizzazione del primo strato convoluzionale della cifra 1



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow