에포크를 200000 이상으로 설정하면 더 정확한 결과를 확인할 수 있습니다. 하지만 300 정도로 설정하더라도 4~5시간 정도 소요되므로 훈련시키는 시간을 고려하여 실습을 진행해야 합니다.
체크포인트(checkpoint)를 사용하여 훈련 과정을 저장합니다.
코드 8-28 체크포인트 설정
import os
checkpoint_path = "training_1/cp.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)
cp_callback = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_path, verbose=1) ------ ①
① 훈련하는 동안 체크포인트를 저장하기 위해 tf.keras.callbacks.ModelCheckpoint 콜백 함수를 사용합니다. 콜백 함수는 훈련 중간과 훈련 마지막에 체크포인트를 저장하는 데 많이 사용하는 방법입니다. 또한, 다시 훈련하지 않고 모델을 재사용하거나 의도치 않게 훈련이 중지된 경우 이어서 훈련할 수 있도록 하는 역할을 합니다.
이제 훈련에 사용될 데이터를 불러옵니다.
코드 8-29 데이터셋 메모리로 로딩
(x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=max_features)
x_train = sequence.pad_sequences(x_train, maxlen=maxlen) 모양(길이)이 같은 벡터를 만들기 위해 ‘0’으로 시퀀스를 채웁니다.
x_test = sequence.pad_sequences(x_test, maxlen=maxlen)