728x90
epoch마다 가장 좋은 모델을 찾아 저장하는 ModelCheckpoint도 있지만,
epoch마다 그 훈련 기록을 저장하는 CSVLogger도 있다.
사용을 하기 위해 먼저 라이브러리 적용 후
from tensorflow.keras.callbacks import CSVLogger
csv_logger = CSVLogger(filename=LOGFILE_PATH, append = True)
CSVLogger를 설정하고 변수에 저장한다.
filename= : 저장할 파일명. csv
append = : True로 설정시 기록을 덮어쓰지않고 차례로 계속 저장한다.
이외 separator도 자주 쓴다. csv파일에서 요소를 구분하는데 뭘로 구분할것인지..(ex)separator=','
후에 모델 훈련시 사용한다.
history = model.fit(trainGen.flow(X_train, y_train, batch_size=64),
steps_per_epoch = len(X_train) // 64,
validation_data = (X_val, y_val),
validation_steps = len(X_val) // 64,
callbacks = csv_logger,
epochs = 50
)
csv파일로 저장되고 DataFrame으로 불러올수 있다.
epoch accuracy loss val_accuracy val_loss
0 | 0.179963 | 2.442203 | 0.186667 | 1.957881 |
1 | 0.218924 | 2.103565 | 0.213333 | 1.819962 |
2 | 0.319444 | 1.878288 | 0.373333 | 1.687726 |
3 | 0.346939 | 1.727957 | 0.546667 | 1.562017 |
4 | 0.415584 | 1.612291 | 0.626667 | 1.445411 |
'IT 프로그래밍 관련 > 딥러닝' 카테고리의 다른 글
tensorflow 모델 및 가중치(weight) 저장하고 불러오기 (0) | 2021.03.10 |
---|---|
learning_curve 함수 설정 (0) | 2021.03.04 |
epoch마다 가장 좋은 모델을 저장하는 ModelCheckpoint (0) | 2021.03.04 |
Fine Tuning 코드 진행 (0) | 2021.03.04 |
Transfer Learning을 위한 코드와 설명 (0) | 2021.03.04 |
댓글