Kom igångKom igång gratis

Träna modellen

Visste du att Google Translate 2017 hade fler än 500 miljoner användare per dag?

Här tränar du din första Teacher Forcing-modell. Teacher Forcing används ofta i sekvens-till-sekvens-modeller, som din neurala maskinöversättare, för att uppnå bättre prestanda.

Du får tillgång till funktionen sents2seqs(), engelska meningar i en_text och franska meningar i fr_text.

Den här övningen är en del av kursen

Maskinöversättning med Keras

Visa kurs

Övningsinstruktioner

  • Hämta decoder-indatan, som innehåller one-hot-kodade sekvenser av franska ord (utom det sista ordet i varje sekvens).
  • Hämta decoder-utdatan, som innehåller one-hot-kodade sekvenser av franska ord (utom det första ordet i varje sekvens).
  • Träna modellen på en enskild batch med data.
  • Beräkna utvärderingsmåtten (förlust och noggrannhet) för träningsdatan en_x, de_x och de_y.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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))  
Redigera och kör kod