CommencezCommencez gratuitement

Avons-nous besoin de plus de données ?

Il est temps de vérifier si le model du jeu de données des chiffres que vous avez construit profite de davantage d'exemples d'entraînement !

Pour garder le code au minimum, plusieurs éléments sont déjà initialisés et prêts à utiliser :

  • Le model que vous venez de construire.
  • X_train, y_train, X_test et y_test.
  • Les initial_weights de votre modèle, enregistrés après avoir utilisé model.get_weights().
  • Une liste prédéfinie de tailles d'entraînement : training_sizes.
  • Un rappel d'arrêt hâtif prédéfini qui surveille la perte : early_stop.
  • Deux listes vides pour stocker les résultats d'évaluation : train_accs et test_accs.

Entraînez votre modèle sur les différentes tailles d'entraînement et évaluez les résultats sur X_test. Terminez en traçant les résultats avec plot_results().

Le code complet de cet exercice se trouve dans le diaporama !

Cette activité fait partie du cours

Introduction à Deep Learning avec Keras

Voir le cours

Instructions de l’exercice

  • Obtenez une fraction des données d'entraînement déterminée par la valeur de size que nous évaluons actuellement dans la boucle.
  • Réglez les poids du modèle à initial_weights avec set_weights() et entraînez votre modèle sur la fraction des données d'entraînement en utilisant early_stop comme rappel (callback).
  • Évaluez et enregistrez la justesse (accuracy) pour la fraction d'entraînement et pour l'ensemble de test.
  • Appelez plot_results() en passant les justesses d'entraînement et de test pour chaque taille d'entraînement.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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(____, ____)
Modifier et exécuter le code