완성된 모델링을 학습할 때 사용하는 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에 리스트 안에 넣어주고 학습하면 설정한 디렉토리 폴더에 파일이 생긴다.
'TensorFlow' 카테고리의 다른 글
Transfer Learning 과 Fine Tunning (0) | 2022.06.16 |
---|---|
TensorFlow - 파일을 training 과 test 디렉토리로 나눠서 저장하기 (0) | 2022.06.15 |
TensorFlow - Image Data Generator 를 이용해서 데이터 증강하기 (로컬 파일 / 변수에 저장된 파일) (0) | 2022.06.15 |
jpg, png와 같은 이미지 파일을, 학습용 데이터로 만드는 방법 (0) | 2022.06.15 |
TensorFlow - 이미지가 주어졌을 때 Convolution한 결과로 나오는 feature map의 사이즈를 구하는 공식 (0) | 2022.06.14 |
댓글