Głębokie uczenie się z Kerasem - kompilacja modelu

Kompilacja jest wykonywana przy użyciu jednego wywołania metody compile.

model.compile(loss='categorical_crossentropy', metrics=['accuracy'], optimizer='adam')

Plik compilemetoda wymaga kilku parametrów. Parametr strat jest określony jako typ'categorical_crossentropy'. Parametr metryki jest ustawiony na'accuracy' i wreszcie używamy adamoptymalizator do szkolenia sieci. Wynik na tym etapie pokazano poniżej -

Teraz jesteśmy gotowi do wprowadzenia danych do naszej sieci.

Ładowanie danych

Jak wspomniano wcześniej, użyjemy rozszerzenia mnistzbiór danych dostarczony przez Keras. Kiedy ładujemy dane do naszego systemu, podzielimy je na dane treningowe i testowe. Dane są ładowane przez wywołanieload_data metoda w następujący sposób -

(X_train, y_train), (X_test, y_test) = mnist.load_data()

Wynik na tym etapie wygląda następująco -

Teraz poznamy strukturę wczytanego zbioru danych.

Dostarczone nam dane to obrazy graficzne o wymiarach 28 x 28 pikseli, z których każdy zawiera jedną cyfrę z przedziału od 0 do 9. Pierwsze dziesięć obrazów wyświetlimy na konsoli. Kod umożliwiający to podano poniżej -

# printing first 10 images
for i in range(10):

plot.subplot(3,5,i+1)
plot.tight_layout()
plot.imshow(X_train[i], cmap='gray', interpolation='none')
plot.title("Digit: {}".format(y_train[i]))
plot.xticks([])
plot.yticks([])

W iteracyjnej pętli 10 zliczeń tworzymy podplot dla każdej iteracji i pokazujemy obraz z X_trainwektor w nim. Tytułem każdego obrazu z odpowiedniegoy_trainwektor. Zwróć uwagę, żey_train vector zawiera rzeczywiste wartości dla odpowiedniego obrazu w formacie X_trainwektor. Oznaczenia osi x i y usuwamy, wywołując obie metodyxticks i yticksz pustym argumentem. Po uruchomieniu kodu zobaczysz następujące dane wyjściowe -

Następnie przygotujemy dane do wprowadzenia ich do naszej sieci.