Začněte nyníZačněte zdarma

Trénování modelu

Věděl/a jsi, že v roce 2017 Google Translate denně obsluhoval více než 500 milionů uživatelů?

V této úloze natrénuješ svůj první model s Teacher Forcing. Teacher Forcing se běžně používá v sekvenčních modelech, jako je tvůj neuronový překladač, aby dosáhl lepšího výkonu.

K dispozici máš funkci sents2seqs(), anglické věty en_text a francouzské věty fr_text.

Toto cvičení je součástí kurzu

Machine Translation with Keras

Zobrazit kurz

Pokyny k cvičení

  • Získej vstup dekodéru obsahující sekvence francouzských slov zakódované metodou one-hot (kromě posledního slova v každé sekvenci).
  • Získej výstup dekodéru obsahující sekvence francouzských slov zakódované metodou one-hot (kromě prvního slova v každé sekvenci).
  • Natrénuj model na jedné dávce dat.
  • Získej vyhodnocovací metriky (ztrátu a přesnost) pro trénovací data en_x, de_x a de_y.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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))  
Upravit a spustit kód