LoslegenKostenlos loslegen

Mit breiteren Netzen experimentieren

Jetzt weißt du alles, was du brauchst, um mit verschiedenen Modellen zu experimentieren!

Ein Modell namens model_1 wurde bereits geladen. In der IPython-Shell siehst du eine Zusammenfassung dieses Modells. Es handelt sich um ein relativ kleines Netzwerk mit nur zehn Units in jeder verborgenen Schicht.

In dieser Übung erstellst du ein neues Modell namens model_2, das model_1 ähnelt, aber 100 Einheiten in jeder verborgenen Schicht hat.

Nachdem du model_2 erstellt hast, werden beide Modelle trainiert, und ein Diagramm zeigt den Loss beider Modelle in jeden Durchlauf. Wir haben das Argument verbose=False in den Fit-Befehlen hinzugefügt, um weniger Ausgaben zu erhalten, da du dir die Ergebnisse grafisch statt als Text anschaust.

Da du zwei Modelle trainierst, dauert es einen Moment, bis du nach dem Ausführen die Ausgaben siehst – hab also etwas Geduld.

Diese Übung ist Teil des Kurses

Einführung in Deep Learning mit Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle model_2, das model_1 repliziert, aber verwende 100 Knoten statt 10 für die ersten beiden Dense-Schichten mit der Aktivierung 'relu'. Verwende 2 Knoten für die Dense-Ausgabeschicht mit 'softmax' als activation.
  • Kompiliere model_2 wie bei den vorherigen Modellen: mit 'adam' als optimizer, 'categorical_crossentropy' als Loss und metrics=['accuracy'].
  • Klicke auf Antworten, um beide Modelle zu trainieren und zu visualisieren, welches bessere Ergebnisse liefert! Achte auf das Schlüsselwortargument verbose=False in model.fit(): Dadurch werden weniger Updates ausgegeben, da du die Modelle grafisch statt über Text auswertest.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Define early_stopping_monitor
early_stopping_monitor = EarlyStopping(patience=2)

# Create the new model: model_2
model_2 = ____

# Add the first and second layers
____.____(____(____, ____=____, input_shape=input_shape))
____

# Add the output layer
____

# Compile model_2
____

# Fit model_1
model_1_training = model_1.fit(predictors, target, epochs=15, validation_split=0.2, callbacks=[early_stopping_monitor], verbose=False)

# Fit model_2
model_2_training = model_2.fit(predictors, target, epochs=15, validation_split=0.2, callbacks=[early_stopping_monitor], verbose=False)

# Create the plot
plt.plot(model_1_training.history['val_loss'], 'r', model_2_training.history['val_loss'], 'b')
plt.xlabel('Epochs')
plt.ylabel('Validation score')
plt.show()
Code bearbeiten und ausführen