개발/머신러닝

파이썬 머신러닝 - 텐서플로우를 이용하여 인공지능 저장하기.

웅'jk 2022. 12. 29. 15:15

텐서플로우에서는 기본적으로 저장을 지원합니다.

 

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')