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
Instrukcje do ćwiczenia
- Wytrenuj
standard_modelprzez 10 epok, przekazując dane treningowe i walidacyjne, a historię zapisz wh1_callback. - Wytrenuj
batchnorm_modelprzez 10 epok, przekazując dane treningowe i walidacyjne, a historię zapisz wh2_callback. - Wywołaj
compare_histories_acc, przekazująch1_callbackih2_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(____, ____)