CommencezCommencez gratuitement

Entraîner le modèle

Saviez-vous qu'en 2017, Google Traduction a desservi plus de 500 millions d'utilisateurs chaque jour?

Ici, vous allez entraîner votre premier modèle avec Teacher Forcing. Le Teacher Forcing est couramment utilisé dans les modèles séquence à séquence, comme votre traducteur automatique neuronal, pour obtenir de meilleures performances.

On vous fournit la fonction sents2seqs(), des phrases anglaises en_text et des phrases françaises fr_text.

Cette activité fait partie du cours

Traduction automatique avec Keras

Voir le cours

Instructions de l’exercice

  • Obtenez l'entrée du décodeur, qui contient les séquences en encodage one-hot des mots français (sauf le dernier mot de chaque séquence).
  • Obtenez la sortie du décodeur, qui contient les séquences en encodage one-hot des mots français (sauf le premier mot de chaque séquence).
  • Entraînez le modèle sur un seul lot (batch) de données.
  • Obtenez les mesures d'évaluation (loss et accuracy) pour les données d'entraînement en_x, de_x et de_y.

Exercice interactif pratique

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

n_epochs, bsize = 3, 250

for ei in range(n_epochs):
  for i in range(0,data_size,bsize):
    en_x = sents2seqs('source', en_text[i:i+bsize], onehot=True, reverse=True)
    de_xy = sents2seqs('target', fr_text[i:i+bsize], onehot=True)
    # Separate the decoder inputs from de_xy
    de_x = ____[:,____,:]
    # Separate the decoder outputs from de_xy
    de_y = ____[____]
    # Train the model on a single batch of data    
    nmt_tf.____([____,____], ____)    
    # Obtain the eval metrics for the training data
    res = _____.evaluate([____,____], ____, batch_size=bsize, verbose=0)
    print("{} => Train Loss:{}, Train Acc: {}".format(ei+1,res[0], res[1]*100.0))  
Modifier et exécuter le code