콜백은 모델을 fit한 뒤, iteration 할 때마다 특정한 이벤트에 따라 callback이 수행되는 것을 말합니다. 주로 learning_rate를 수정할 때 사용됩니다!
ModelCheckpoint에서 여러 인자들이 있습니다.
특정 조건에 맞춰서 모델을 파일로 저장하는 것.
epoch의 값과 logs의 키로 채워진 이름 형식
으로 파일을 저장할 수 있습니다.모니터할 지표
를 확인할 수 있습니다. (loss나 accuracy)가장 좋은 성능
을 나타내는 모델만 저장할지 말지 정하는 것입니다.Weights만 저장
할 지 정하는 것입니다. (true로 하는 것이 좋습니다)loss면 min
, accuracy면 max
, 자동으로 유추하기를 원한다면 auto
로 설정한다.learning_rate를 동적으로 감소시킴.
new_learning_rate = factor * learning_rate
)epochs나 참을 것인지
...조기 중단하는 것.
mcp_cb = ModelCheckpoint(
filepath='/kaggle/working/weights.{epoch:02d}-{val_loss:.2f}.hdf5',
monitor='val_loss', save_best_only=True, save_weights_only=True,
mode='min', period=3, verbose=1
)
history = model.fit(x=tr_images, y=tr_oh_labels, batch_size=128, epochs=10, validation_data=(val_images, val_oh_labels),
callbacks=[mcp_cb])
callback
을 만들어주고, model.fit callbacks 인자
에 리스트 형식
으로 적용3개의 callback들을 모두 사용
오늘은 이렇게 callback에 대해 알아보았습니다!