Skip to main content
 首页 » 编程设计

python之如何保存和重复使用 keras 模型的所有设置

2025年05月04日19shangdawei

问题:

使用如下指定的 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 中的示例并尝试修改和添加模型的特征/参数,例如

  • 激活='relu'
  • activation='sigmoid'
  • 指标=['准确性']

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

我尝试过的:

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

只返回

AttributeError: 'Sequential' object has no attribute 'load'

2. model.get_config()

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

[{'class_name': 'Dense', 'config': {'activation': 'relu',

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

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

有什么建议吗?

请您参考如下方法:

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

from keras.models import load_model    
load_model(filepath) 

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

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