Recherche…


Introduction

Il existe plusieurs manières de visualiser les couches convolutives, mais elles partagent les mêmes composants: extraire les valeurs d’une partie des réseaux neuronaux convolutifs et visualiser ces valeurs. Notez que ces visualisations ne doivent pas et ne peuvent pas être affichées sur le TensorBoard.

Un exemple de base de 2 étapes

L'exemple suppose que vous avez réussi et compris le tutoriel de MNIST ( Deep MNIST for expert ).

%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 fonction ci-dessus visualise un tableau (con_val) contenant les valeurs d'une couche convolutionnelle à partir du noyau. La fonction récapitule les valeurs de tous les exemples et les représente en niveaux de gris.

Les codes suivants récupèrent les valeurs de la première couche convolutionnelle et appellent la fonction ci-dessus à afficher.

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)

Les codes ne représentent que les visualisations correspondant aux libellés de 0 et 1. Vous pourrez voir les résultats comme tels. Visulisation de la première couche convoluative du chiffre 1 Visulisation de la première couche convoluative du chiffre 1



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow