tensorflow
Visualisierung der Ausgabe einer Faltungsschicht
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.