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. Visulización de la primera capa convoluacional del dígito 1. Visulización de la primera capa convoluacional del dígito 1.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow