首页 > 解决方案 > 如何保存和重用 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的示例,并尝试修改和添加模型的特征/参数,例如

正如问题所暗示的那样,我想存储模型设置以供以后使用。我知道这些参数是不同功能的一部分,但不应该是一样的吗?

我试过的:

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

只退货

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

2. model.get_config()

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

[{'class_name': '密集', 'config': {'activation': 'relu',

但是我还没有找到一种方法来将该配置作为独立模型加载,而且通常情况下,我似乎无法找到所有设置。

3.我还查看了其他帖子,例如Keras - Reuse weights from a previous layer - conversion to keras tensor,但似乎没有涵盖模型的所有方面。

有什么建议么?

标签: pythontensorflowkeras

解决方案


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

from keras.models import load_model   
load_model(filepath)

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

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


推荐阅读