Szukaj…


Wprowadzenie

Istnieje wiele sposobów wizualizacji warstw splotowych, ale mają one te same komponenty: pobieranie wartości części zwojowych sieci neuronowych i wizualizowanie tych wartości. Uwaga: te wizualizacje nie powinny i nie mogą być wyświetlane na tablicy TensorBoard.

Podstawowy przykład 2 kroków

W przykładzie założono, że udało Ci się uruchomić i w pełni zrozumieć samouczek 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()

Powyższa funkcja wizualizuje tablicę (con_val) zawierającą wartości warstwy splotowej danego jądra. Funkcja sumuje wartości wszystkich przykładów i drukuje je w skali szarości.

Poniższe kody pobierają wartości z pierwszej warstwy splotowej i wywołują powyższą funkcję w celu wyświetlenia.

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)

Kody wykreślają tylko wizualizacje odpowiadające etykietom 0 i 1. Będziesz mógł zobaczyć wyniki jako te. Wizualizacja pierwszej warstwy splotowej cyfry 1 Wizualizacja pierwszej warstwy splotowej cyfry 1



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow