ComenzarEmpieza gratis

Entrenamiento del modelo

¿Sabías que en 2017, Google Translate prestó servicio a más de 500 millones de usuarios al día?

Aquí entrenarás tu primer modelo Teacher Forced. El «Teacher Forcing» se utiliza habitualmente en modelos secuencia a secuencia, como tu traductor automático neuronal, para lograr un mejor rendimiento.

Se te proporcionará la función « sents2seqs() », frases en inglés en_text y frases en francés fr_text.

Este ejercicio forma parte del curso

Traducción automática con Keras

Ver curso

Instrucciones del ejercicio

  • Obtén la entrada del decodificador que contiene las secuencias codificadas en onehot de palabras francesas (excepto la última palabra de cada secuencia).
  • Obtener la salida del decodificador que contiene las secuencias codificadas en onehot de palabras francesas (excepto la primera palabra de cada secuencia).
  • Entrena el modelo con un único lote de datos.
  • Obtener las métricas de evaluación (pérdida y precisión) para los datos de entrenamiento en_x, de_x y de_y.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

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))  
Editar y ejecutar código