LoslegenKostenlos starten

Effekte der Batch-Normalisierung

Batch-Normalisierung erhöht in der Regel die Lern­geschwindigkeit unserer Modelle und macht ihre Lernkurven stabiler. Schauen wir uns an, wie zwei identische Modelle mit und ohne Batch-Normalisierung abschneiden.

Das von dir erstellte Modell batchnorm_model ist für dich geladen. Eine exakte Kopie ohne Batch-Normalisierung, standard_model, ist ebenfalls verfügbar. Du kannst dir ihre summary() in der Konsole ansehen. X_train, y_train, X_test und y_test sind ebenfalls geladen, damit du beide Modelle trainieren kannst.

Du wirst die Accuracy-Lernkurven beider Modelle vergleichen, indem du sie mit compare_histories_acc() plottest.

Du kannst dir die Funktion ansehen, indem du show_code(compare_histories_acc) in die Konsole einfügst.

Diese Übung ist Teil des Kurses

<Kurs>Einstieg ins Deep Learning mit Keras</Kurs>
Kurs ansehen

Übungsanweisungen

  • Trainiere standard_model für 10 Epochen und übergib Trainings- und Validierungsdaten; speichere die History in h1_callback.
  • Trainiere dein batchnorm_model für 10 Epochen und übergib Trainings- und Validierungsdaten; speichere die History in h2_callback.
  • Rufe compare_histories_acc auf und übergib h1_callback und h2_callback.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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(____, ____)
Code bearbeiten und ausführen