Zacznij terazZacznij za darmo

Trenowanie modelu

Czy wiesz, że w 2017 roku Google Translate obsługiwał ponad 500 milionów użytkowników dziennie?

Teraz wytrenojesz swój pierwszy model z Teacher Forcing. Teacher Forcing jest powszechnie stosowany w modelach sekwencja-sekwencja, takich jak neuronowy translator maszynowy, aby osiągnąć lepszą wydajność.

Do dyspozycji masz funkcję sents2seqs(), angielskie zdania en_text oraz francuskie zdania fr_text.

To ćwiczenie jest częścią kursu

Tłumaczenie maszynowe z Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Pobierz dane wejściowe dekodera, które zawierają sekwencje zakodowane metodą one-hot dla francuskich słów (z wyjątkiem ostatniego słowa w każdej sekwencji).
  • Pobierz dane wyjściowe dekodera, które zawierają sekwencje zakodowane metodą one-hot dla francuskich słów (z wyjątkiem pierwszego słowa w każdej sekwencji).
  • Wytrenuj model na pojedynczej partii danych.
  • Wyznacz metryki ewaluacyjne (stratę i dokładność) dla danych treningowych en_x, de_x i de_y.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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))  
Edytuj i uruchom kod