군침이 싹 도는 코딩
Modelcheckpoint / CSVLogger 사용법 본문
Modelcheckpoint는 에포크 시 마다 가장 좋은 모델을 저장한다
CSVLogger는 에포크 시 마다 기록을 남길 수 있다
if not os.path.exists(PROJECT_PATH + '/checkpoints/'+ model_type +'/') :
os.makedirs(PROJECT_PATH + '/checkpoints/'+ model_type +'/')
if not os.path.exists(PROJECT_PATH + '/log/'+ model_type +'/') :
os.makedirs(PROJECT_PATH + '/log/'+ model_type +'/')
# 위 두가지를 저장할 디렉토리를 만들어준다
from keras.callbacks import ModelCheckpoint
from keras.callbacks import CSVLogger
mcp = ModelCheckpoint(CHECKPOINT_PATH, monitor='val_accuracy', save_best_only=True, verbose= 1)
csv_logger = CSVLogger(LOGFILE_PATH, append=True)
# 필요한 라이브러리를 임포트해준다
mcp는 파라미터로 경로, 모니터(무엇으로 결정할 것인가), save_best_only(가장좋은값 저장), verbose(화면에 표시)
csv_logger의 파라미터는 경로, append는 True로 한다
from keras import callbacks
epoch_history = model.fit(train_generator, epochs= 20, validation_data=(X_val,y_val), callbacks=[mcp, csv_logger], batch_size=64)
>>>
Epoch 1/20
10/10 [==============================] - ETA: 0s - loss: 0.1267 - accuracy: 0.9585
Epoch 1: val_accuracy improved from -inf to 0.94667, saving model to /content/drive/MyDrive/Colab Notebooks/ml_plus/checkpoints/mobilenetv2/by-type-mobilenetv2-block-1-2.h5
10/10 [==============================] - 12s 832ms/step - loss: 0.1267 - accuracy: 0.9585 - val_loss: 0.1798 - val_accuracy: 0.9467
Epoch 2/20
10/10 [==============================] - ETA: 0s - loss: 0.1368 - accuracy: 0.9652
Epoch 2: val_accuracy improved from 0.94667 to 1.00000, saving model to /content/drive/MyDrive/Colab Notebooks/ml_plus/checkpoints/mobilenetv2/by-type-mobilenetv2-block-1-2.h5
10/10 [==============================] - 7s 660ms/step - loss: 0.1368 - accuracy: 0.9652 - val_loss: 0.0219 - val_accuracy: 1.0000
# 이제 학습을 시킬때 콜백에 두 함수를 넣어주면 된다
결과를 보면 verbose를 써서 val_accuracy가 높아질때마다 저장되었다고 출력이 된다
# 지정한 디렉토리로 가보면 가장 좋은 모델과 에포크 기록이 남아있는 로그를 볼 수 있다
'Python > Deep Learning' 카테고리의 다른 글
Prophet 라이브러리를 이용한 Time Series 데이터 예측 방법 (0) | 2023.01.02 |
---|---|
Fine Tuning (0) | 2023.01.02 |
Transfer Learning (0) | 2023.01.02 |
이미지 파일을 numpy로 변환 후 학습 (0) | 2022.12.30 |
파이썬으로 파일 다운로드 및 압축파일 푸는 방법 (0) | 2022.12.30 |