Python/DeepLearning

딥러닝 - 모델 Save, Load

하니__ 2024. 4. 18. 14:30
1. 모델을 폴더로 저장하는 방법
model.save( 'my_model' )

 

 

1 - 2. 불러오기
my_model = tf.keras.models.load_model('my_model')
my_model.predict(X_test)

 

 

이상없이 작동된다

 

2. 파일로 저장하는 법

 

model.save('my_model.h5')

 

 

2 - 2. 불러오기
my_model2 = tf.keras.models.load_model('my_model.h5')
my_model2.predict(X_test)

이상 없이 작동 된다

 

 

 

 

3 . 가중치를 파일로 저장하는 법
len(model.get_weights())
4
model.save_weights('my_model_weights.h5')

 

 

 

3 - 2.  불러오기
 
my_model3 = tf.keras.models.load_model('my_model_weights.h5')
my_model3 = model.load_weights('my_model_weights.h5')
my_model3.predict(X_test)

 

 

위의 불러오기와는 다르게

이 메소드는 모델의 구조를 가져오지 않아

파일에 저장된 가중치와 편향 값만을 로드하기 때문에

깡통 상태인 my_model3는

 

우선적으로 모델 아키텍쳐 정의가 필요하다 그리고 추가적으로 가중치를 불러오는

load_weights 메소드를 사용하여 my_model_weights.h5에서 가중치를 로드

를 해야만 작동이 가능하다

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

my_model3 = Sequential([
    Dense(128, input_shape=(28, 28), activation='relu'),
    Dense(64, activation='relu'),
    Dense(10, activation='softmax')
])

my_model3.load_weights('my_model_weights.h5')

my_model3.predict(X_test)