如何保存和重用keras模型的所有设置?

时间:2018-08-30 11:58:27

标签: python tensorflow keras

问题:

(部分)指定了keras模型,例如:

# create model
model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Fit the model
model.fit(X, Y, epochs=150, batch_size=10)

是否可以将所有详细信息保存在模型中以供以后使用?


详细信息:

我一直在跟踪machinelearningmastery.com中的示例,并尝试修改和添加模型的特征/参数,例如

  • activation ='relu'
  • activation ='Sigmoid'
  • metrics = ['accuracy']

正如问题所暗示的,我想存储模型设置以备后用。 我知道这些参数是不同功能的组成部分,但难道不是全部一样吗?

我尝试过的事情:

1。 model.save()model.load()

仅返回

  

AttributeError:“顺序”对象没有属性“加载”

2。 model.get_config()

在这里,我已经找到了一些设置,例如:

  

[{'class_name':'密集','config':{'激活':'relu',

但是我还没有找到一种可以将配置作为独立模型加载的方法,而且常常无法找到所有设置。

3。。我还检查了其他帖子,例如K eras - Reuse weights from a previous layer - converting to keras tensor,但似乎并未涵盖该模型的所有方面。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

您可以尝试使用keras提供的model.load()来加载使用load_model()保存的模型,而不必尝试model.save()

from keras.models import load_model   
load_model(filepath)

您还可以使用model.to_json()将模型另存为json并使用model_from_json()从json加载

您可以在Keras文档中看到更多保存和加载模型的方法 here

答案 1 :(得分:2)

model.save()将完成技巧,以保存模型,使用from keras.models import load_model加载模型,并使用model=load_model(model_name)加载模型