【发布时间】:2019-04-10 08:36:52
【问题描述】:
我在 Nvidia Quadro 板上使用 Keras 2.2.4 训练了一个卷积神经网络。我已将训练后的模型保存在两个单独的文件中:一个描述架构的文件 (model.json) 和另一个包含所有权重的文件 (model.h5)。
我想将保存的模型加载到运行 Keras 2.2.2 的 Nvidia Jetson TX2 板上,我正在尝试按如下方式进行:
# load json and create model
json_file = open(prefix+'final_model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
# load weights into new model
loaded_model.load_weights(prefix+"model.h5")
model = loaded_model
但是,当我尝试加载时,出现以下错误:
loaded_model = model_from_json(loaded_model_json)
文件“/home/nvidia/.local/lib/python3.5/site-packages/keras/engine/saving.py”,第 368 行,在 model_from_json 返回反序列化(配置,custom_objects=custom_objects) 反序列化中的文件“/home/nvidia/.local/lib/python3.5/site-packages/keras/layers/init.py”,第 55 行 printable_module_name='层') 文件“/home/nvidia/.local/lib/python3.5/site-packages/keras/utils/generic_utils.py”,第 145 行,在 deserialize_keras_object 列表(custom_objects.items()))) 文件“/home/nvidia/.local/lib/python3.5/site-packages/keras/engine/sequential.py”,第 292 行,在 from_config custom_objects=custom_objects) 反序列化中的文件“/home/nvidia/.local/lib/python3.5/site-packages/keras/layers/init.py”,第 55 行 printable_module_name='层') 文件“/home/nvidia/.local/lib/python3.5/site-packages/keras/utils/generic_utils.py”,第 165 行,在 deserialize_keras_object ':' + 函数名) ValueError:未知层:名称
我也尝试将整个模型保存在一个文件中,但得到了同样的错误。
我尝试了here 的解决方案,但无法解决。
以前有人见过这个错误吗?有什么建议吗?
【问题讨论】:
-
我也从昨天开始收到这个错误。
-
也请参考这个解决方案:github.com/keras-team/keras/issues/11617#issuecomment-509486741 它对我有用!
标签: python tensorflow keras keras-layer nvidia-jetson