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

Modeli eğitme

Bu egzersizde daha önce uyguladığın modeli eğiteceksin. Google'ın encoder-decoder tabanlı makine çeviri modelinin 2-4 gün eğitildiğini biliyor muydun?

Bu egzersizde modeli eğitmek için 1500 cümleden oluşan küçük bir veri kümesi (yani en_text ve fr_text) kullanacaksın. Bu miktar iyi bir performans görmek için pek yeterli olmayacak, fakat yöntem aynı kalacak. Daha uzun süre daha fazla veriyle eğitmek meselesi. Sana ayrıca nmt modeli ve daha önce uyguladığın sents2seqs() fonksiyonu verildi. Bu egzersizde daha iyi performans için kodlayıcı metnini ters çevireceksin. Burada en_x kodlayıcı girdisini, de_x ise kod çözücü girdisini ifade eder.

Bu egzersiz

Keras ile Machine Translation

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

Egzersiz talimatları

  • sents2seqs() fonksiyonunu kullanarak tek bir kodlayıcı girdi yığını (indeks i'den i+bsize'a kadar olan İngilizce cümleler) al. Girdiler ters çevrilmeli ve onehot kodlanmalı.
  • sents2seqs() fonksiyonunu kullanarak tek bir kod çözücü çıktı yığını (indeks i'den i+bsize'a kadar olan Fransızca cümleler) al. Girdiler onehot kodlanmalı.
  • en_x ve de_y içeren tek bir veri yığını üzerinde modeli eğit.
  • Modeli bsize değerinde bir batch_size ile değerlendirerek en_x ve de_y için değerlendirme metriklerini elde et.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

n_epochs, bsize = 3, 250

for ei in range(n_epochs):
  for i in range(0,data_size,bsize):
    # Get a single batch of encoder inputs
    en_x = ____('source', ____, onehot=____, reverse=____)
    # Get a single batch of decoder outputs
    de_y = sents2seqs('target', fr_text[____], onehot=____)
    
    # Train the model on a single batch of data
    nmt.____(____, ____)    
    # Obtain the eval metrics for the training data
    res = nmt.____(____, de_y, batch_size=____, verbose=0)
    print("{} => Train Loss:{}, Train Acc: {}".format(ei+1,res[0], res[1]*100.0))  
Kodu Düzenle ve Çalıştır