파이썬/텐서플로우
완성한 인공지능 model , 네트워크 , weight 저장 하는 방법
공부짱짱열심히하기
2022. 12. 29. 15:06
1) 네트워크만 저장하고 불러오기
model.to_json()
2) 네트워크를 json 파일로 저장하는 코드
fashion_mnist_network = model.to_json()
with open('fashion_mnist_network.json' , 'w') as file :
file.write(fashion_mnist_network)
메모리에 있는 fashion_mnist_network 변수를 파일 fashion_mnist_network.json으로 저장하라


구글코랩 내부에 저장이 됨 다운로드도 가능
3)저장된 네트워크를 읽어오는 코드
with open('fashion_mnist_network.json' , 'r') as file :
fashion_net = file.read()
저 네트워크를 모델로 만들고 싶다면
model4 = tf.keras.models.model_from_json(fashion_net)
model4는 네트워크만 가져온 것이지,,, 학습 완료된 웨이트는 가져온것이 아니다.
따라서 현재 웨이트는 랜덤으로 셋팅된 웨이트다.
이것으로 예측 수행하면 안된다.
4)웨이트를 저장하고 불러오는 코드
model.save_weights('fashion_mnist_weight.h5')
model4.load_weights('fashion_mnist_weight.h5')
이제야 정상작동
1) 네트워크만 저장하고 불러오기 model.to_json() 2) 네트워크를 json 파일로 저장하는 코드 인공지능 변수 = model.to_json() with open('저장명.json' , 'w') as file : file.write(인공지능 변수) 3)저장된 네트워크를 읽어오는 코드 with open('저장명.json' , 'r') as file : read해줄네트워크변수 = file.read() 네트워크로 모델만들기 model4 = tf.keras.models.model_from_json(fashion_net) 4)웨이트를 저장하고 불러오는 코드 model.save_weights('저장명.h5') model4.load_weights('저장해준명.h5') |