텐서플로우에서는 기본적으로 저장을 지원합니다.
1. 폴더로 저장하기
# 폴더 구조로 저장
model.save('fashoin_mnist_model')
save 안에는 경로와 저장될 이름을 적어주시면 됩니다. 경로가 없을 경우 여러분들이 작업하시는 파일과 동일한 위치에 저장됩니다.
읽어오는 방법은
model2 = tf.keras.models.load_model('fashoin_mnist_model')
이런식으로 load_model 을 이용합니다.
2. 파일로 저장하기
model.save('fashoin_mnist_model.h5')
읽어오기
model3 = tf.keras.models.load_model('fashoin_mnist_model.h5')
3. 네트워크와 웨이트를 따로 저장하기
네트워크
with open('fashion_mnist_network.json','w') as file :
file.write(fashion_mnist_network)
- 네트워크는 json 파일로 저장되며 이것을 모델로 사용하고 싶다면
with open('fashion_mnist_network.json','r') as file :
fashion_net = file.read()
model4 = tf.keras.models.model_from_json(fashion_net)
다만 이렇게 되면 웨이트 값이 없기때문에 이 모델을 이용해도 내가 만든 것과 다른결과가 나오게됩니다.
웨이트
model.save_weights('fashion_mnist_weight.h5')
이렇게 저장된 웨이트를 네트워크만 가져온 모델에 적용시켜 내가 만든 모델로 만들어 줍니다.
model4.load_weights('fashion_mnist_weight.h5')
'개발 > 머신러닝' 카테고리의 다른 글
파이썬 머신러닝 - 이미지 러닝 CNN , convolution , pooling (0) | 2022.12.30 |
---|---|
파이썬 머신러닝 - 레이블 y 값을 원핫인코딩으로 바꾸기. (0) | 2022.12.29 |
파이썬 머신러닝 - flatten 라이브러리 대신 , validation_data 사용하는 방법 (0) | 2022.12.29 |
파이썬 머신러닝 - softmax 로 처리한 결과값을 레이블인코딩, 오버피팅을 처리하는 콜백클래스 이용 (0) | 2022.12.29 |
파이썬 머신러닝 - 이미지 학습을 위한 flatten, 3개 이상 분류 액티베이션함수 softmax 와 loss 셋팅방법. (0) | 2022.12.28 |