【发布时间】: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。
-
当然,我也在将模型保存到磁盘之前进行了训练,这从上面的代码中并不明显。也许是训练模型引入的问题?
-
没有。即使我训练它,它也会显示正确的名称。