파이썬/텐서플로우

완성한 인공지능 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')