이번엔 아키텍처 따로, 가중치 따로 저장하고 불러오는 방법을 알아보자.
먼저 아키텍처만 저장하고 불러오는 방법이다.
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 함수로 불러오면 가중치가 입력된다.
'TensorFlow' 카테고리의 다른 글
TensorFlow - 분류의 문제에서, loss 함수 어떤 것을 써야할까? (0) | 2022.06.14 |
---|---|
TensorFlow - 레이블링된 y 값을 to_categorical 함수를 이용해서 원핫 인코딩으로 바꾸기 (0) | 2022.06.14 |
TensorFlow - 모델을 저장하고 불러오는 방법 (1) (통째로 저장하고 불러오기 / 아키텍처와 가중치 따로 저장하고 불러오기) (0) | 2022.06.14 |
TensorFlow - validation_data 파라미터 (0) | 2022.06.14 |
TensorFlow - 텐서플로우 / 케라스의 Dropout (0) | 2022.06.14 |
댓글