ПочатиПочніть безкоштовно

Навчання моделі

Чи знали ви, що у 2017 році Google Translate щодня обслуговував понад 500 мільйонів користувачів?

Тут ви навчите свою першу модель із застосуванням Teacher Forcing. Teacher Forcing зазвичай використовують у моделях «послідовність у послідовність», як-от ваш нейронний машинний перекладач, щоб досягти кращої якості.

Ви отримаєте функцію sents2seqs(), англійські речення en_text і французькі речення fr_text.

Ця вправа є частиною курсу

Machine Translation з Keras

Переглянути курс

Інструкції до вправи

  • Отримайте вхід декодера, який містить one-hot закодовані послідовності французьких слів (окрім останнього слова в кожній послідовності).
  • Отримайте вихід декодера, який містить one-hot закодовані послідовності французьких слів (окрім першого слова в кожній послідовності).
  • Навчіть модель на одному батчі даних.
  • Отримайте метрики оцінювання (loss і accuracy) для тренувальних даних en_x, de_x і de_y.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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))  
Редагувати та запускати код