본문 바로가기
  • 콩's 코딩노트
TensorFlow

TensorFlow - 모델을 저장하고 불러오는 방법 (1) (통째로 저장하고 불러오기 / 아키텍처와 가중치 따로 저장하고 불러오기)

by Cong_S 2022. 6. 14.

저장하는 방법을 알기 전에 중요한 개념을 정리하고 가야한다.

ANN을 저장할 때에는 두 가지 구조를 염두에 두어야 한다.

 

첫번째는 인풋레이어 n개, 히든레이어 n개, 아웃풋레이어 n개, Flatten이나 Dropout 같은 ANN을 구성하는 요소를 

아키텍쳐(또는 네트워크)라 하는 것

두번째는 weight(가중치) = parameter 에 학습된 숫자들을 따로 두고 봐야한다는 점이다.

 

우선 통째로 저장하는 방법은 두 가지가 있다.

import os
os.chdir('/content/drive/MyDrive/Python_Cong/model')

맨처음 언제나 마찬가지로 저장하기 전 경로를 잡아주고

 

# 모델 저장하기
model.save('fashion_mnist_model')

텐서플로우에서 제공하는 save 함수를 사용하면 된다. 위 코드의 경우 저장했을 때 폴더의 형식으로 저장되는데

파일로 저장하고 싶다면 

# 폴더로 말고 파일 하나로 저장하는 방법
model.save('fashion_mnist_model.h5')

확장자로 h5를 입력해주면 파일로 저장할 수 있다.

불러오는 방법은 다음과 같다.

# 저장된 모델 불러오기
model_3 = tf.keras.models.load_model('fashion_mnist_model')

# 파일로 저장된 모델 불러오기
model_3 = tf.keras.models.load_model('fashion_mnist_model.h5')

새로 저장하고 불러온 모델의 구조

 

댓글