TensorFlow
TensorFlow - 모델을 저장하고 불러오는 방법 (2) (통째로 저장하고 불러오기 / 아키텍처와 가중치 따로 저장하고 불러오기)
Cong_S
2022. 6. 14. 11:45
이번엔 아키텍처 따로, 가중치 따로 저장하고 불러오는 방법을 알아보자.
먼저 아키텍처만 저장하고 불러오는 방법이다.
json 파일을 이용한다.
# 1. 먼저 변수에 json 파일 저장
my_network = model.to_json()
# 2. 다음과 같은 코드 작성
with open('my_network.json', 'w') as json_file :
json_file.write(my_network)
불러올 땐 w를 r (read) 로 변경해준다.
# 불러오기
with open('my_network.json', 'r') as json_file :
my_network2 = json_file.read()
# 그 후 변수에 저장하여 사용
model4 = tf.keras.models.model_from_json(my_network2)
아키텍쳐만 가져왔으므로 현재 weight는 없는 상황 / 학습이 되지 않은 상황
이번엔 가중치를 저장하고 불러오자.
model.save_weights('fashion_mnist_weight.h5')
save_weights 함수를 사용한다. 확장자는 h5
# weight 불러와 깡통 아키텍쳐에 입히기
model4.load_weights('fashion_mnist_weight.h5')
불러올 땐 깡통 아키텍처에 load_weights 함수로 불러오면 가중치가 입력된다.