2017-11-01 3 views
1

빠른 질문이 있습니다. 내가 실행중인 길쌈 신경망 (Convolutional Neural Network)의 가중치를 저장하는 2 가지 방법이 있습니다.Keras 신경망 : 검사 점 또는 save_weights로 가중치를 저장합니까?

ModelCheckpoint('weights.{epoch:03d}-{val_acc:.4f}.hdf5', monitor='val_acc', verbose=1, save_best_only=True, mode='auto') 

및 파일 거의 13메가바이트로 끝나는 :

1)로 맞춤 기능을 실행하는 동안 나는 그것을 할 수 있습니다.

model.save_weights('final weights123123.hdf5') 

및 파일 거의 4메가바이트로 끝나는 :

2) 나는 완료 적합 함수 뒤에 그것을 할 수 있습니다.

그런 다음 테스트 세트의 결과는 두 파일과 동일합니다. 그래서 내 질문은 : 13MB 및 4MB의 파일이있는 이유는 무엇입니까? 아마 나는 약간의 정보를 잃어 가고있다.

답변

1

당신이 here을 읽을 수 있습니다으로 - 당신이 무게뿐만 아니라뿐만 아니라 저장되어 save_model 방법을 사용하여 모델을 저장할 때 : 모델을 다시 만들 수 있도록

  • 모델의 구조,
  • 훈련 구성 (손실, 최적화),
  • 최적화 프로그램의 상태로, 중단 한 부분부터 정확히 학습을 재개 할 수 있습니다.

save_weights을 사용하면 가중치가있는 배열 numpy 만 저장하면됩니다.

+0

답변 해 주셔서 감사합니다. 체크 포인트가 save_model과 비슷합니까? 체크 포인트가 가중치를 저장하고 있다고 생각했습니다 – Cibgks

+1

예 - 기본적으로 '검사 점'은 전체 모델을 저장합니다. 그러나'save_weights_only' 옵션이 있습니다. 그래서 가중치만을 저장하도록 설정할 수 있습니다. –

+0

굉장하고 진심으로 감사드립니다. – Cibgks

관련 문제