본문 바로가기
Python Library/Keras

[Keras] model / weight 저장 및 불러오기

by goatlab 2021. 12. 21.
728x90
반응형
SMALL

model / weight 저장 및 불러오기

 

 

keras에서 model과 weight를 저장 및 불러오는 방법을 살펴보자.

 

◦ model 저장 및 불러오기 (json / yaml)

◦ weights 저장 및 불러오기 (h5df)

◦ 둘 다 저장 및 불러오기 (h5)

 

각각의 방법들은 독립적이다.

 

model 저장 및 불러오기 

 

# json으로 model 저장
# layer
layer = keras.layers.Dense(3, activation="relu")
layer_config = layer.get_config()
new_layer = keras.layers.Dense.from_config(layer_config)

# Sequential model
model = keras.Sequential([keras.Input((32,)), keras.layers.Dense(1)])
config = model.get_config()
new_model = keras.Sequential.from_config(config)

# Functional model
inputs = keras.Input((32,))
outputs = keras.layers.Dense(1)(inputs)
model = keras.Model(inputs, outputs)
config = model.get_config()
new_model = keras.Model.from_config(config)

# model 저장
model = keras.Sequential([keras.Input((32,)), keras.layers.Dense(1)])
json_config = model.to_json()
new_model = keras.models.model_from_json(json_config)
# json으로 불러오기
from keras.models import model_from_json
json_file = open("model.json", "r") 
loaded_model = json_file.read() 
json_file.close() 

model = model_from_json(loaded_model)

 

weights 저장 및 불러오기

 

# weights 저장
model.save_weights('model_weights.h5')
# weights 불러오기
model.load_weights('model_weights.h5')

 

둘 다 저장 및 불러오기

 

# model과 weight를 h5형태로 저장
model.save('model.h5')
# model과 weight를 불러오기
from keras.models import model_from_json
json_file = open("model.json", "r") 
loaded_model = json_file.read() 
json_file.close() 

model = model_from_json(loaded_model)

 

실행하기

 

from keras.models import load_model

model = load_model('model.h5')
out = model.predict(x)
print(np.argmax(out))

 

728x90
반응형
LIST

'Python Library > Keras' 카테고리의 다른 글

[Keras] Model.evaluate 함수  (0) 2022.01.04
[Keras] Model.fit 함수  (0) 2022.01.04
[Keras] 손실 함수 (Loss Function)  (0) 2021.12.20
[Keras] 학습  (0) 2021.12.20
[Keras] 컴파일 (Compile)  (0) 2021.12.20