콜백의 조합
특히 더 깊은 아키텍처와 더 큰 데이터셋으로 갈수록, Deep learning 모델은 학습에 많은 시간이 걸릴 수 있어요. 성능이 향상될 때마다 모델을 저장하고, 더 이상 향상되지 않으면 학습을 멈추면 학습 epoch 수를 정하는 데 신경을 덜 쓸 수 있습니다. 또한 저장된 모델을 언제든 불러와 중단한 지점부터 학습을 이어갈 수도 있어요.
모델 학습 및 검증 데이터는 워크스페이스에 X_train, X_test, y_train, y_test로 제공되어 있습니다.
컴퓨터가 열심히 일하는 동안 편히 과자 한 통 드실 수 있도록 EarlyStopping()과 ModelCheckpoint() 콜백을 사용해 보세요!
이 연습은 강의의 일부입니다
Keras로 시작하는 딥 러닝
연습 안내
tensorflow.keras에서EarlyStopping과ModelCheckpoint콜백을 모두 임포트하세요.'val_accuracy'를 모니터링하고patience를 3 epoch로 설정한EarlyStopping콜백을monitor_val_acc라는 이름으로 만드세요.- 최상의 모델을
best_banknote_model.hdf5로 저장하는ModelCheckpoint콜백을model_checkpoint라는 이름으로 만드세요. - 정의한 콜백들을 담은 리스트와 검증 데이터로
X_test,y_test를 제공하여 모델을 학습하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import the EarlyStopping and ModelCheckpoint callbacks
from tensorflow.____.____ import ____, ____
# Early stop on validation accuracy
monitor_val_acc = ____(monitor = ____, patience = ____)
# Save the best model as best_banknote_model.hdf5
model_checkpoint = ____(____, save_best_only = True)
# Fit your model for a stupid amount of epochs
h_callback = model.fit(X_train, y_train,
epochs = 1000000000000,
callbacks = [____, ____],
validation_data = (____, ____))