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)
).keras.callbacks.EarlyStopping(monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto')
모니터링하는 수량이 개선을 멈추면 훈련을 중지합니다.
인수
min
: 수량이 감소를 멈추면 훈련을 중지합니다.max
: 수량이 증가를 멈추면 훈련을 중지합니다.auto
: 수량의 이름을 통해 자동으로 방향을 추론합니다.keras.callbacks.RemoteMonitor(root='<http://localhost:9000>', path='/publish/epoch/end/', field='data', headers=None)
이벤트를 서버로 실시간으로 보내는 Callback 입니다.
requests
라이브러리가 필요합니다. 이벤트는 기본값으로 root + '/publish/epoch/end/'
으로 보내집니다. 호출은 HTTP POST와 JSON으로 인코딩된 이벤트 데이터의 딕셔너리인 data
인수입니다.
인수
root
에서의 상대경로 입니다.keras.callbacks.LearningRateScheduler(schedule)
학습율 스케쥴러입니다.
인수