tensorflow
Visualizando la salida de una capa convolucional.
Buscar..
Introducción
Hay muchas formas de visualizar las capas convolucionales, pero comparten los mismos componentes: obtener los valores de una parte de las redes neuronales convolucionales y visualizar esos valores. Tenga en cuenta que esas visualizaciones no deben y no pueden mostrarse en el TensorBoard.
Un ejemplo básico de 2 pasos.
El ejemplo asume que ha ejecutado con éxito y que comprende completamente el tutorial 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 función anterior visualiza una matriz (con_val) que contiene los valores de una capa convolucional dada el kernel. La función resume los valores de todos los ejemplos y los representa en escala de grises.
Los siguientes códigos obtienen los valores de la primera capa convolucional y llaman a la función anterior para mostrarlos.
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)
Los códigos solo trazan las visualizaciones correspondientes a las etiquetas de 0 y 1. Podrás ver los resultados como estos.