Bắt đầu ngayBắt đầu miễn phí

Huấn luyện mô hình với tập kiểm định

Tại đây bạn sẽ học cách huấn luyện mô hình dịch máy neural kèm bước kiểm định.

Bạn được cung cấp mô hình nmt đã tạo ở chương trước. Bên cạnh đó, bạn sẽ huấn luyện mô hình trên các câu tiếng Anh và tiếng Pháp lấy từ Udacity Github Repo. Bạn có sẵn văn bản huấn luyện tiếng Anh (tr_en) và tiếng Pháp (tf_fr) cũng như văn bản kiểm định tiếng Anh (v_en) và tiếng Pháp (v_fr) từ bài trước.

Huấn luyện mô hình sẽ mất chút thời gian nên mã của bạn sẽ chạy lâu hơn một chút.

Bài tập này là một phần của khóa học

Machine Translation với Keras

Xem khóa học

Hướng dẫn bài tập

  • Tạo dữ liệu kiểm định bằng cách biến đổi v_env_fr với hàm sents2seqs.
  • Lấy một batch đầu vào và đầu ra đã biến đổi đúng định dạng bằng hàm sents2seqs.
  • Dùng đầu vào (en_x) và đầu ra (de_y) để huấn luyện nmt trên một batch đơn.
  • Dùng v_en_xv_de_y cùng với valid_size làm batch_size để đánh giá mô hình nmt và lấy độ chính xác kiểm định.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Convert validation data to onehot
v_en_x = ____(____, ____, onehot=____, reverse=____)
v_de_y = ____(____, ____, onehot=True)

n_epochs, bsize = 3, 250
for ei in range(n_epochs):
  for i in range(0,train_size,bsize):
    # Get a single batch of inputs and outputs
    en_x = ____(____, tr_en[____:____], onehot=____, reverse=____)
    de_y = sents2seqs(____, tr_fr[____:____], onehot=True)
    # Train the model on a single batch of data
    nmt.____(____, ____)    
  # Evaluate the trained model on the validation data
  res = nmt.evaluate(____, ____, batch_size=valid_size, verbose=0)
  print("{} => Loss:{}, Val Acc: {}".format(ei+1,res[0], res[1]*100.0))
Chỉnh sửa và Chạy Mã