CommencerCommencer gratuitement

Entraînement du modèle

Saviez-vous qu'en 2017, Google Translate a été utilisé par plus de 500 millions d'utilisateurs par jour ?

Ici, vous allez entraîner votre premier modèle Teacher Forced. Le « Teacher Forcing » est couramment utilisé dans les modèles séquence-séquence, tels que votre traducteur automatique neuronal, afin d'obtenir de meilleures performances.

Vous disposerez de la fonction d'sents2seqs(), des phrases en anglais en_text et des phrases en français fr_text.

Cet exercice fait partie du cours

Traduction automatique avec Keras

Afficher le cours

Instructions

  • Obtenez l'entrée du décodeur qui contient les séquences codées en onehot des mots français (à l'exception du dernier mot de chaque séquence).
  • Obtenez la sortie du décodeur qui contient les séquences codées en onehot des mots français (à l'exception du premier mot de chaque séquence).
  • Entraînez le modèle sur un seul lot de données.
  • Obtenez les mesures d'évaluation (perte et précision) pour les données d'entraînement en_x, de_x et de_y.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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