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

Keras ile Machine Translation

kursunun bir parçasıdır
Kursu Görüntüle

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ı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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