Suche…


Einführung

Es gibt viele Möglichkeiten, die Faltungsschichten zu visualisieren, aber sie haben dieselben Komponenten: Abrufen der Werte eines Teils der Faltungsneuralnetze und Visualisieren dieser Werte. Beachten Sie, dass diese Visualisierungen nicht auf dem TensorBoard angezeigt werden dürfen und können.

Ein grundlegendes Beispiel für 2 Schritte

In diesem Beispiel wird davon ausgegangen, dass Sie das Lernprogramm von MNIST ( Deep MNIST für Experten ) erfolgreich ausgeführt haben und vollständig verstehen.

%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()

Die obige Funktion visualisiert ein Array (con_val), das die Werte einer Faltungsschicht enthält, die dem Kern zugewiesen wurde. Die Funktion fasst die Werte aller Beispiele zusammen und zeichnet sie in Graustufen auf.

Die folgenden Codes rufen Werte aus der ersten Faltungsschicht ab und rufen die obige Funktion zur Anzeige auf.

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)

Die Codes stellen nur die Visualisierungen dar, die den Bezeichnungen 0 und 1 entsprechen. Die Ergebnisse werden als diese angezeigt. Visualisierung der ersten Konvolutionsschicht von Ziffer 1 Visualisierung der ersten Konvolutionsschicht von Ziffer 1



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow