꾸준하고 즐겁게

Keras 라이브러리를 활용해 작성한 사용자 정의 Callback 함수 본문

Machine Learning

Keras 라이브러리를 활용해 작성한 사용자 정의 Callback 함수

wj9183 2021. 4. 30. 18:49
728x90
"콜백은 훈련, 평가 또는 추론 중에 Keras 모델의 동작을 사용자 정의할 수 있는 강력한 도구입니다."

www.tensorflow.org/guide/keras/custom_callback?hl=ko

 

자신만의 콜백 작성하기  |  TensorFlow Core

시작하기 콜백은 훈련, 평가 또는 추론 중에 Keras 모델의 동작을 사용자 정의할 수 있는 강력한 도구입니다. TensorBoard로 훈련 진행 상황과 결과를 시각화하기 위한 tf.keras.callbacks.TensorBoard 또는 훈

www.tensorflow.org

 

 

링크에 Callback 함수를 만드는 방법이 잘 나와있다.

 

Model을 학습시킬 때 callback 함수를 설정하면 epoch가 끝날 때마다 Callback 함수를 실행하게 된다.

우리는 이를 이용해 로그를 기록을 하거나, 최적의 epoch 값을 찾거나, 특정 조건이 되었을 때 학습을 종료하게 할 수도 있다. 이에 대한 내용은 다음 글에서 다룰 것이다.

 

이번 글에는 원하는 학습 도중 원하는 정확도 수치를 달성하면 학습을 중단하는 코드를 간단히 작성해보았다.

 

 

class myCallback(tf.keras.callbacks.Callback):         
  def on_epoch_end(self, epoch, logs = {}):
    if(logs.get('accuracy') >= 0.90):
      print("\n정확도 90% 이상을 달성하여 학습을 중단합니다.")
      self.model.stop_training = True
      
my_cb = myCallback()

classifier.fit(X_train, y_train, epochs= 10, callbacks = [my_cb], batch_size = 20)

 

이런식으로 클래스를 만들어주고 사용하면 된다.

 

 

 

 

제와 조금 다르지만, 위의 Callback 함수를 직접 사용한 이미지를 가져왔다.

잘 작동하는 것을 확인할 수 있다.

728x90