-
Keras Cat Dog 분류 - 5. 딥러닝 시작하기 - 콜백 함수주제를 딱히 정하기 싫을때 2019. 6. 13. 18:55
설치 부터 실제 분류까지 keras로
Cat과 Dog 데이터 셋으로 끝까지 해보기
2019/06/13 - [주제를 딱히 정하기 싫을때] - Keras Cat Dog 분류 - 4. 딥러닝 시작하기 - 훈련 데이터 분류하여 복사하기
7 콜백 함수 만들기
-
콜백 함수를 만드는 이유는 모델 훈련시 통제를 할 수 있기 때문입니다.
-
콜백 함수가 없으면 좋던 싫든 훈련이 끝날때까지 아무 것도 제어 할 수가 없습니다.
-
콜백 함수는 베스트 가중치 선별 저장부터 모델 부적격시 자동 중단할 수 있습니다.
-
다양한 기능이 있으니 관련 자료를 찾아 보시고 원하는 세팅을 하십시요.
-
필요한 라이브러리
-
datetime
-
시간과 관련되 파이썬 함수
-
여기에선 모델의 이름이 중복하지 않고 저장하기 위해 사용됩니다.
-
keras
-
os
-
모델과 텐셔보드 그래프 저장하기 위한 폴더
-
save_dir = './my_log'
-
if not os.path.isdir(save_dir):
os.makedirs(save_dir)
-
프로젝트 이름
-
project_name = 'dog_cat_CNN_model'
-
저장할 모델 명칭입니다.
-
save_file 함수 만들기
-
현재 시각으로 구성된 파일명으로 학습한 모델을 저장합니다.
-
여기에서 저장하는 것이 아니고 이름조합을 만들어 콜백함수에서 저장합니다.
-
-
콜백함수
-
TensorBoard() 를 사용합니다.
-
graph , image 사용을 합니다.
-
log_dir 은 텐션보드 그래프를 저장할 디렉토리를 지정해 줍니다.
-
EarlyStopping()
-
학습중 평가시 모델 훈련 종료 시점을 정합니다.
-
monitor 는 종료 시키기 위한 관찰대상을 의미합니다.
-
'val_loss', 'val_acc' 등이 있습니다
-
patience 는 모니터 대상의 평가가 지정한 횟수 만큼 나아지지 않으면 훈련을 종료합니다
-
monitor = 'val_acc' , patience = 5 이라면
-
검증데이터 정확도가 5 에포크만큼 나아지지 않으면 훈련을 종료합니다
-
ModelCheckpoint()
-
filepath 는 모델 저장 위치
-
monitor 는 모델에 저장할 가중치 , 주로 'val_loss'사용
-
save_best_only , 최상의 가중치만 기록여부
여기까지가 콜백함수 구성마무리 입니다.
나중에 이 간단한 함수가 어떤 힘을 발휘 하는지 보시게 됩니다.
다음 절에서는 모델을 구성하겠습니다.
'주제를 딱히 정하기 싫을때' 카테고리의 다른 글
Keras Cat Dog 분류 - 7. 딥러닝 시작하기 - 텐션보드 사용하기 (0) 2019.06.13 Keras Cat Dog 분류 - 6. 딥러닝 시작하기 - 모델 구성 (0) 2019.06.13 Keras Cat Dog 분류 - 4. 딥러닝 시작하기 - 훈련 데이터 분류하여 복사하기 (0) 2019.06.13 Keras Cat Dog 분류 - 3. 딥러닝 시작하기 - 데이터 확보및 구성 (0) 2019.06.13 Keras Cat Dog 분류 - 2. 딥러닝 라이브러리 설치하기 (0) 2019.06.13 -