Inizia subitoInizia gratis

Addestrare il modello

Sapevi che nel 2017 Google Translate serviva più di 500 milioni di utenti al giorno?

Qui addestrerai il tuo primo modello con Teacher Forcing. Il Teacher Forcing è comunemente usato nei modelli sequence-to-sequence, come il tuo traduttore neurale, per ottenere prestazioni migliori.

Ti saranno forniti la funzione sents2seqs(), le frasi inglesi en_text e le frasi francesi fr_text.

Questo esercizio fa parte del corso

Traduzione automatica con Keras

Visualizza corso

Istruzioni dell'esercizio

  • Ottieni l'input del decoder che contiene le sequenze one-hot dei termini francesi (tranne l'ultima parola in ogni sequenza).
  • Ottieni l'output del decoder che contiene le sequenze one-hot dei termini francesi (tranne la prima parola in ogni sequenza).
  • Addestra il modello su un singolo batch di dati.
  • Ottieni le metriche di valutazione (loss e accuracy) per i dati di training en_x, de_x e de_y.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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))  
Modifica ed esegui il codice