MulaiMulai sekarang secara gratis

Melatih model

Tahukah Anda bahwa pada tahun 2017, Google Translate melayani lebih dari 500 juta pengguna setiap hari?

Di sini, Anda akan melatih model Teacher Forcing pertama Anda. Teacher Forcing umum digunakan pada model sequence-to-sequence seperti penerjemah mesin neural Anda untuk mencapai kinerja yang lebih baik.

Anda akan disediakan fungsi sents2seqs(), kalimat bahasa Inggris en_text, dan kalimat bahasa Prancis fr_text.

Latihan ini adalah bagian dari kursus

Penerjemahan Mesin dengan Keras

Lihat Kursus

Petunjuk latihan

  • Dapatkan masukan decoder yang berisi urutan kata bahasa Prancis dalam bentuk one-hot encoding (kecuali kata terakhir pada setiap urutan).
  • Dapatkan keluaran decoder yang berisi urutan kata bahasa Prancis dalam bentuk one-hot encoding (kecuali kata pertama pada setiap urutan).
  • Latih model pada satu batch data.
  • Peroleh metrik evaluasi (loss dan accuracy) untuk data pelatihan en_x, de_x, dan de_y.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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))  
Edit dan Jalankan Kode