Sök…


Introduktion

Det finns många sätt att visualisera de invecklade lagren, men de delar samma komponenter: att hämta värdena på en del av de invändiga neurala nätverken och visualisera dessa värden. Observera att dessa visualiseringar inte bör och inte kan visas på TensorBoard.

Ett grundläggande exempel på två steg

Exemplet förutsätter att du framgångsrikt har kört och helt förstå handledning till MNIST ( Deep MNIST för 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()

Ovanstående funktion visualiserar en matris (con_val) som innehåller värdena på ett invecklingslager som ges kärnan. Funktionen summerar värdena på alla exempel och plottar dem i gråskala.

Följande koder hämtar värden från det första kretslagret och kallar funktionen ovan för att visas.

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)

Koderna plottar bara visualiseringarna som motsvarar etiketter på 0 och 1. Du kommer att kunna se resultaten som dessa. Visulisering av det första convoluationalskiktet av siffra 1 Visulisering av det första convoluationalskiktet av siffra 1



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow