BaşlayınÜcretsiz başlayın

Doğrulamayla modeli eğitme

Burada modeli Teacher Forcing kullanarak eğitecek ve ayrıca bir doğrulama adımı gerçekleştireceksin. Modeli birden çok epoch ve birden çok yineleme için eğiteceksin. Ardından her epoch sonunda doğrulama adımını çalıştırıp sonuçları alacaksın.

Bunun için sana en_text (İngilizce cümleler), fr_text (Fransızca cümleler), sents2seqs() fonksiyonu ve nmt_tf (derlenmiş model) verildi. Ayrıca önceden yüklenmiş tr_en ve tr_fr (eğitim verisi) ile v_en ve v_fr (doğrulama verisi) de mevcut.

Bu egzersiz, kursun bir parçasıdır

Keras ile Machine Translation

Kursa Göz Atın

Egzersiz talimatları

  • de_xy'den decoder girdilerini (son kelime hariç tümü) ve çıktılarını (ilk kelime hariç tümü) çıkar.
  • Modeli tek bir veri yığını (batch) üzerinde eğit.
  • Doğrulama verilerinden, eğitim verisinde yaptığınla aynı şekilde decoder girdileri ve çıktıları oluştur.
  • Doğrulama veri kümesi üzerinde modeli değerlendirerek doğrulama kaybını ve doğruluğu elde et.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

for ei in range(n_epochs):
  for i in range(0,train_size,bsize):    
    en_x = sents2seqs('source', tr_en[i:i+bsize], onehot=True, reverse=True)
    de_xy = sents2seqs('target', tr_fr[i:i+bsize], onehot=True)
    # Create a single batch of decoder inputs and outputs
    de_x, de_y = ____[:,____,:], de_xy[:,____,:]
    # Train the model on a single batch of data
    nmt_tf.____([____,____], de_y)      
  v_en_x = sents2seqs('source', v_en, onehot=True, reverse=True)
  # Create a single batch of validation decoder inputs and outputs
  v_de_xy = ____('target', ____, onehot=____)
  v_de_x, v_de_y = ____[____], v_de_xy[____]
  # Evaluate the trained model on the validation data
  res = nmt_tf.evaluate([____,____], ____, batch_size=valid_size, verbose=0)
  print("{} => Loss:{}, Val Acc: {}".format(ei+1,res[0], res[1]*100.0))
Kodu Düzenle ve Çalıştır