Zacznij terazZacznij za darmo

Efekty normalizacji wsadowej

Normalizacja wsadowa (batch normalization) przyspiesza uczenie modeli i sprawia, że ich krzywe uczenia są bardziej stabilne. Sprawdź, jak wypadają dwa identyczne modele – jeden z normalizacją wsadową, drugi bez.

Model batchnorm_model, który właśnie zbudowano, jest już załadowany. Dostępna jest również jego kopia bez normalizacji wsadowej: standard_model. Możesz sprawdzić ich summary() w konsoli. Załadowane są też X_train, y_train, X_test i y_test, dzięki którym możesz wytrenować oba modele.

Porównasz krzywe dokładności uczenia obu modeli, wykreślając je za pomocą compare_histories_acc().

Aby zobaczyć kod funkcji, wklej w konsoli show_code(compare_histories_acc).

To ćwiczenie jest częścią kursu

Wprowadzenie do uczenia głębokiego z Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Wytrenuj standard_model przez 10 epok, przekazując dane treningowe i walidacyjne, a historię zapisz w h1_callback.
  • Wytrenuj batchnorm_model przez 10 epok, przekazując dane treningowe i walidacyjne, a historię zapisz w h2_callback.
  • Wywołaj compare_histories_acc, przekazując h1_callback i h2_callback.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Train your standard model, storing its history callback
h1_callback = standard_model.fit(____, ____, validation_data=(____,____), epochs=____, verbose=0)

# Train the batch normalized model you recently built, store its history callback
h2_callback = batchnorm_model.fit(____, ____, validation_data=____, epochs=____, verbose=0)

# Call compare_histories_acc passing in both model histories
compare_histories_acc(____, ____)
Edytuj i uruchom kod