Callback은 주어진 훈련 절차에 적용될 함수의 세트입니다. Callbacks을 훈련 중에 모델 내부의 상태나 통계 등을 보기 위해 사용할 수 있습니다. 키워드 인수 callbacks으로 callback의 리스트를 Sequential나 Model 클래스의 .fit()메소드로 넘길 수 있습니다. Callbacks의 관련된 메소드는 매 훈련 단계마다 호출됩니다.
keras.callbacks.BaseLogger()
Metric의 epoch 평균을 축적하는 callback입니다.
이 callback은 자동으로 모든 Keras 모델에 적용됩니다.
keras.callbacks.Callback()
새로운 callback을 만들기 위한 추상화된 기초 클래스입니다.
속성
keras.models.Model의 인스턴스이며 훈련될 모델의 참고 항목입니다.Callback 메소드가 인수로 받는 logs 딕셔너리는 현재 batch나 epoch에 상응하는 수량의 열쇠를 포함하게 됩니다.
현재, Sequential 모델 클래스의 .fit() 메소드는 callback에 넘겨 줄 다음과 같은 수량을 logs에 포함하고 있습니다:
acc와 loss를 포함하고 선택적으로 (fit에서 검증이 가능할 때만)val_loss, (검증과 정확도 모니터링이 가능할 때)val_acc를 포함하는 로그입니다.size를 포함하는 로그입니다.loss와 선택적으로 (정확도 모니터링이 가능할 때)acc를 포함하는 로그입니다.keras.callbacks.TerminateOnNaN()
유효하지 않은 손실값(NaN loss)이 발생하였을 때 훈련을 종료시키는 callback 입니다.
keras.callbacks.ProgbarLogger(count_mode='samples')
표준출력으로 metrics을 출력하는 callback입니다.
인수
예외 발생
count_mode 인 경우입니다.keras.callbacks.History()
History 객체에 내력을 기록하는 callback입니다.
모든 Keras 모델에 자동으로 적용되며 History 객체는 모델의 fit 메소드에 의해 반환됩니다.
keras.callbacks.ModelCheckpoint(filepath, monitor='val_loss', verbose=0, save_best_only=False, save_weights_only=False, mode='auto', period=1)
매 epoch 다음에 모델을 저장합니다.
filepath은 epoch값과 (on_epoch_end에 넘겨진)logs의 키를 파일명에 포함하는 양식을 가지고 있습니다. 예를 들면: filepath가 weights.{epoch:02d}-{val_loss:.2f}.hdf5이라면, 모델 체크포인트는 epoch 숫자와 검증 손실을 파일명에 포함하여 저장됩니다.
인수
save_best_only=True 인 경우, 모니터링하는 수량이 가장 좋았던 최근의 모델은 덮어쓰여지지 않습니다.save_best_only=True인 경우, 현재의 저장 파일에 덮어쓸지 여부는 모니터링하는 수량에 대해 최소화인지 최대화인지에 달려있습니다. val_acc에 대해서는 max, val_loss에 대해서는 min이 되는 등입니다. auto모드에서는 모니터링하는 수량의 이름을 통해 자동으로 추론하여 정해집니다.model.save_weights(filepath)), 아니면 모델 전체가 저장됩니다(model.save(filepath)).