LoslegenKostenlos starten

Brauchen wir mehr Daten?

Es ist Zeit zu prüfen, ob das model für den Digits-Datensatz, das du gebaut hast, von mehr Trainingsbeispielen profitiert!

Um den Code schlank zu halten, ist bereits vieles initialisiert und einsatzbereit:

  • Das model, das du gerade erstellt hast.
  • X_train, y_train, X_test und y_test.
  • Die initial_weights deines Modells, gespeichert nach model.get_weights().
  • Eine vordefinierte Liste von Trainingsgrößen: training_sizes.
  • Ein vordefinierter Early-Stopping-Callback, der den Loss überwacht: early_stop.
  • Zwei leere Listen zur Speicherung der Evaluationsergebnisse: train_accs und test_accs.

Trainiere dein Modell mit den verschiedenen Trainingsgrößen und bewerte die Ergebnisse auf X_test. Schließe ab, indem du die Ergebnisse mit plot_results() visualisierst.

Den vollständigen Code für diese Übung findest du auf den Folien!

Diese Übung ist Teil des Kurses

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

Übungsanweisungen

  • Hole dir den Bruchteil der Trainingsdaten, der durch die aktuell in der Schleife geprüfte size bestimmt wird.
  • Setze die Modellgewichte mit set_weights() auf initial_weights zurück und trainiere dein Modell auf dem entsprechenden Teil der Trainingsdaten, wobei du early_stop als Callback verwendest.
  • Evaluiere und speichere die Genauigkeit für den Trainingsanteil und den Testdatensatz.
  • Rufe plot_results() auf und übergib die Trainings- und Testgenauigkeiten für jede Trainingsgröße.

Interaktive praktische Übung

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

for size in training_sizes:
  	# Get a fraction of training data (we only care about the training data)
    X_train_frac, y_train_frac = X_train[:size], y_train[:size]

    # Reset the model to the initial weights and train it on the new training data fraction
    model.set_weights(____)
    model.fit(X_train_frac, y_train_frac, epochs = 50, callbacks = [early_stop])

    # Evaluate and store both: the training data fraction and the complete test set results
    train_accs.append(model.evaluate(____, ____)[1])
    test_accs.append(model.evaluate(____, ____)[1])
    
# Plot train vs test accuracies
plot_results(____, ____)
Code bearbeiten und ausführen