검증을 포함한 모델 학습
이 연습에서는 검증 단계를 포함하여 신경망 기계 번역 모델을 학습하는 방법을 익힙니다.
이전 장에서 만든 nmt 모델이 제공됩니다. 또한 Udacity Github Repo에서 가져온 영어와 프랑스어 문장으로 모델을 학습합니다. 이전 연습에서 제공된 학습용 영어 텍스트(tr_en)와 프랑스어 텍스트(tf_fr), 검증용 영어 텍스트(v_en)와 프랑스어 텍스트(v_fr)를 사용하세요.
모델 학습에는 시간이 다소 걸리므로, 코드 실행이 조금 더 오래 걸릴 수 있습니다.
이 연습은 강의의 일부입니다
Keras로 배우는 Machine Translation
연습 안내
sents2seqs함수를 사용해v_en과v_fr를 변환하여 검증 데이터를 만드세요.sents2seqs함수를 사용해 올바르게 변환된 입력과 출력을 배치로 가져오세요.- 입력(
en_x)과 출력(de_y)을 사용해 단일 배치에서nmt를 학습하세요. valid_size를batch_size로 하여v_en_x와v_de_y로nmt모델을 평가하고 검증 정확도를 구하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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))