保存和检索模型名称

Posted

技术标签:

【中文标题】保存和检索模型名称【英文标题】:Saving and retrieving model name 【发布时间】:2018-10-17 11:36:13 【问题描述】:

我正在使用 Keras 来训练我的模型,这就是我指定其名称的方式:

model = Sequential()
model.name = 'NameOfMyModel'
[...]

然后我将它保存到磁盘如下:

model_json = model.to_json()
with open(pathToModel+".json","w") as json_file:
    json_file.write(model_json)

model.save_weights(pathToModel+'.h5')

稍后,我使用以下代码再次加载它:

json_file = open(path+'.json', 'r')
loaded_model_json = json_file.read()
json_file.close()

loaded_model = model_from_json(loaded_model_json)
loaded_model.load_weights(path+".h5")

我想通过执行以下操作再次从加载的模型中检索模型的名称:

modelName = loaded_model.name

但是,返回的不是字符串'NameOfMyModel',而是字符串'sequential_1'。我在这里错过了什么?

【问题讨论】:

我无法重现您的问题。它在加载模型后显示'NameOfMyModel' 哼……奇怪。你用的是什么 Keras 版本? 我的 Keras 版本是 2.2.4。 当然,我也在将模型保存到磁盘之前进行了训练,这从上面的代码中并不明显。也许是训练模型引入的问题? 没有。即使我训练它,它也会显示正确的名称。 【参考方案1】:

显然,通过升级 Keras(从版本 2.2.0 到 2.2.4),问题得到了解决。

【讨论】:

以上是关于保存和检索模型名称的主要内容,如果未能解决你的问题,请参考以下文章

无法将数据模型的字段保存到数据库中,但可以检索它

敲除加载和保存视图模型

Keras - LeakyReLU 保存模型时没有属性名称错误

在 for 循环中使用不同的名称保存模型预测

如果请求是通过 ajax 的,如何检索成功和模型错误并以模式显示

如何使用“imageWithData”保存和检索UIImages保持正确的图像格式?