Modeli eğitme
2017'de Google Translate'in günde 500 milyondan fazla kullanıcıya hizmet verdiğini biliyor muydun?
Burada ilk Teacher Forcing kullanılan modelini eğiteceksin. Teacher Forcing, senin sinirsel makine çevirmen gibi sequence-to-sequence modellerde daha iyi performans için yaygın olarak kullanılır.
Sana sents2seqs() fonksiyonu, İngilizce cümleler en_text ve Fransızca cümleler fr_text verilecek.
Bu egzersiz
Keras ile Machine Translation
kursunun bir parçasıdırEgzersiz talimatları
- Her dizideki son kelime hariç Fransızca kelimelerin one-hot kodlanmış dizilerini içeren kod çözücü girdisini elde et.
- Her dizideki ilk kelime hariç Fransızca kelimelerin one-hot kodlanmış dizilerini içeren kod çözücü çıktısını elde et.
- Modeli tek bir veri yığını (batch) üzerinde eğit.
- Eğitim verileri
en_x,de_xvede_yiçin değerlendirme metriklerini (loss ve accuracy) 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):
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))