Path: blob/master/site/ko/guide/migrate/logging_stop_hook.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
LoggingTensorHook 및 StopAtStepHook을 Keras 콜백으로 마이그레이션
TensorFlow 1에서는 사용 tf.estimator.LoggingTensorHook
하면서, 텐서를 모니터링하고 기록하는 tf.estimator.StopAtStepHook
지정된 단계에서 정지 훈련을하는 데 도움이 때와 훈련 tf.estimator.Estimator
. 이 노트북은 사용자 정의 Keras 콜백 (사용 TensorFlow 2에서 그 등가물에 이러한 API에서 마이그레이션하는 방법을 보여줍니다 tf.keras.callbacks.Callback
포함) Model.fit
.
Keras 콜백 Model.fit
/ Model.evaluate
/ Model.predict
API에서 학습/평가/예측 중에 서로 다른 지점에서 호출되는 객체입니다. 콜백에 대한 자세한 내용은 tf.keras.callbacks.Callback
API 문서와 자체 콜백 작성 및 내장 메서드를 사용한 교육 및 평가 ( 콜백 사용 섹션) 가이드를 참조하세요. SessionRunHook
에서 TensorFlow 2의 Keras 콜백으로 마이그레이션하려면 지원 논리를 사용한 마이그레이션 교육 가이드를 확인하세요.
설정
데모용으로 가져오기 및 간단한 데이터세트로 시작합니다.
TensorFlow 1: tf.estimator API를 사용하여 텐서를 기록하고 학습을 중지합니다.
TensorFlow 1에서는 훈련 동작을 제어하기 위해 다양한 후크를 정의합니다. 그런 다음 이 후크를 tf.estimator.EstimatorSpec
전달합니다.
아래 예에서:
텐서(예: 모델 가중치 또는 손실)를 모니터링/로그하려면
tf.estimator.LoggingTensorHook
(tf.train.LoggingTensorHook
은 별칭)을 사용합니다.특정 단계에서 훈련을 중지하려면
tf.estimator.StopAtStepHook
(tf.train.StopAtStepHook
은 별칭)을 사용합니다.
TensorFlow 2: 사용자 지정 콜백 및 Model.fit을 사용하여 텐서를 기록하고 훈련을 중지합니다.
TensorFlow 2에서 Model.fit
(또는 Model.evaluate
tf.keras.callbacks.Callback
을 정의하여 텐서 모니터링 및 학습 중지를 구성할 수 있습니다. 그런 다음 이를 Model.fit
(또는 Model.evaluate
) callbacks
매개변수에 전달합니다. (자신만의 콜백 작성 가이드에서 자세히 알아보세요.)
아래 예에서:
StopAtStepHook
의 기능을 다시 생성하려면 특정 단계 수 후에 훈련을 중지on_batch_end
메서드를 재정의하는 사용자 지정 콜백(아래에서StopAtStepCallback
LoggingTensorHook
동작을 다시 생성하려면 이름으로 텐서에 액세스하는 것이 지원되지 않으므로 로깅된 텐서를 수동으로 기록하고 출력하는 사용자 지정 콜백(LoggingTensorCallback
사용자 정의 콜백 내에서 로깅 빈도를 구현할 수도 있습니다. 아래 예에서는 두 단계마다 가중치를 인쇄합니다. N초마다 기록하는 것과 같은 다른 전략도 가능합니다.
완료되면 새로운 콜백인 StopAtStepCallback
및 LoggingTensorCallback
을 Model.fit의 callbacks
매개변수에 Model.fit
.
다음 단계
콜백에 대해 자세히 알아보기:
API 문서:
tf.keras.callbacks.Callback
가이드: 자신만의 콜백 작성하기
가이드: 기본 제공 메서드를 사용한 교육 및 평가 ( 콜백 사용 섹션)
다음과 같은 마이그레이션 관련 리소스도 유용할 수 있습니다.
조기 중지 마이그레이션 가이드 :
tf.keras.callbacks.EarlyStopping
은 조기 중지 콜백이 내장되어 있습니다.TensorBoard 마이그레이션 가이드 : TensorBoard는 측정항목을 추적하고 표시할 수 있습니다.
지원 로직 마이그레이션 가이드를 통한 교육 :
SessionRunHook
에서 TensorFlow 2의 Keras 콜백까지