본문 바로가기
  • 콩's 코딩노트
TensorFlow

Callback 에서 성능이 가장 좋은 모델을 자동 저장하기, 로그 저장하기

by Cong_S 2022. 6. 16.

완성된 모델링을 학습할 때 사용하는 Fit 함수의 파라미터 중 

callbacks에는 매 번 학습이 끝날 때 (epoch) 마다 어떤 기능을 할 것인지 정하는 파라미터이다.

 

이 중 성능이 가장 좋은 모델을 자동으로 저장하는 방법과 로그를 저장하는 방법에 대해 알아보자.

 

먼저 사용하는 라이브러리는 다음과 같다.

 

from tensorflow.keras.callbacks import ModelCheckpoint

 

성능이 가장 좋은 인공지능을 저장하는 콜백 코드는 다음과 같다.

 

ModelCheckpoint('인공지능 저장할 디렉토리 위치', monitor='val_accuracy', save_best_only = True, verbose= 1)

 

이를 변수에 저장해 사용하면 된다.

 

 

다음은 로그를 저장하는 방법이다.

 

from tensorflow.keras.callbacks import CSVLogger

csv_logger = CSVLogger('로그 파일 저장할 디렉토리 위치')

 

위와 같은 코드를 실행해 콜백에 입력하면 모든 epoch마다 출력된 로그들을 csv 로 저장해준다.

 

 

model.fit(train_generator, epochs= 50, validation_data=val_generator, callbacks = [cp, csv_logger], steps_per_epoch= 10)

 

마지막으로 callbacks에 리스트 안에 넣어주고 학습하면 설정한 디렉토리 폴더에 파일이 생긴다.

댓글