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
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_xetde_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))