Aan de slagGa gratis aan de slag

Hebben we meer data nodig?

Tijd om te checken of het digits-dataset-model dat je hebt gebouwd baat heeft bij meer trainingsvoorbeelden!

Om de code kort te houden, is van alles al geïnitialiseerd en klaar voor gebruik:

  • Het model dat je zojuist hebt gebouwd.
  • X_train,y_train,X_test en y_test.
  • De initial_weights van je model, opgeslagen na model.get_weights().
  • Een vooraf gedefinieerde lijst met trainingsgroottes: training_sizes.
  • Een vooraf gedefinieerde early stopping-callback die de loss monitort: early_stop.
  • Twee lege lijsten om de evaluatieresultaten op te slaan: train_accs en test_accs.

Train je model op de verschillende trainingsgroottes en evalueer de resultaten op X_test. Sluit af door de resultaten te plotten met plot_results().

De volledige code voor deze oefening vind je op de dia's!

Deze oefening maakt deel uit van de cursus

Introductie tot Deep Learning met Keras

Cursus bekijken

Oefeninstructies

  • Pak een fractie van de trainingsdata bepaald door de size die we in de huidige lus evalueren.
  • Zet de modelgewichten naar initial_weights met set_weights() en train je model op de fractie trainingsdata met early_stop als callback.
  • Evalueer en sla de nauwkeurigheid op voor de trainingsfractie en de testset.
  • Roep plot_results() aan en geef de trainings- en testnauwkeurigheden door voor elke trainingsgrootte.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 bewerken en uitvoeren