ÎncepețiÎncepe gratuit

Antrenarea modelului

Știai că în 2017, Google Translate deservea peste 500 de milioane de utilizatori zilnic?

Aici vei antrena primul tău model cu Teacher Forcing. Teacher Forcing este o tehnică des utilizată în modelele de tip sequence to sequence – cum este traducătorul tău automat neuronal – pentru a obține performanțe mai bune.

Vei avea la dispoziție funcția sents2seqs(), propoziții în engleză en_text și propoziții în franceză fr_text.

Acest exercițiu face parte din cursul

Traducere automată cu Keras

Vezi cursul

Instrucțiuni pentru exercițiu

  • Obține intrarea decoderului, care conține secvențele codificate onehot ale cuvintelor în franceză (mai puțin ultimul cuvânt din fiecare secvență).
  • Obține ieșirea decoderului, care conține secvențele codificate onehot ale cuvintelor în franceză (mai puțin primul cuvânt din fiecare secvență).
  • Antrenează modelul pe un singur batch de date.
  • Obține metricile de evaluare (loss și acuratețe) pentru datele de antrenament en_x, de_x și de_y.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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))  
Editează și rulează codul