꾸준하고 즐겁게
Keras 라이브러리를 활용해 작성한 사용자 정의 Callback 함수 본문
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
'Machine Learning' 카테고리의 다른 글
Transfer Learning (0) | 2021.05.03 |
---|---|
Keras의 ImageDataGenerator 클래스 (0) | 2021.05.03 |
Keras의 ModelCheckpoint (0) | 2021.04.30 |
Learning Curve를 통해 Overfitting 확인하기 (0) | 2021.04.30 |
Classification의 문제에서 Compile에 쓰이는 Loss function의 사용 (0) | 2021.04.30 |