微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

保存在 DL4J 中的 MultiLayerNetwork 未在 Python 中加载

如何解决保存在 DL4J 中的 MultiLayerNetwork 未在 Python 中加载

我一直在 Deeplearning4j 中使用神经网络,需要将其切换到 Python。为了使用相同的模型(DL4J 中的 MultiLayerNetwork),我将其保存为 .h5 文件。像这样:

File newFile = new File("newModel.h5");
ModelSerializer.writeModel(network,newFile,true);

现在,当我尝试在 Python 中加载它时,出现以下错误

OSError: SavedModel file does not exist at: newModel.h5/{saved_model.pbtxt|saved_model.pb}

我尝试使用不同的扩展名,如 .pb 并在 python 中使用相对和绝对路径。没有任何帮助。谁能向我解释为什么会发生这种情况?互联网上似乎没有足够的关于这个问题的信息,似乎在 python 中实现相同代码的唯一方法是训练新模型等。

解决方法

dl4j 模型是一个 zip 文件。你能澄清一下你想要做什么吗?如果您从 keras 导入它并需要重新保存它,您能做的最好的事情就是将权重导出为一个 numpy 数组并重新创建架构。您可以使用为您提供权重的 model.params() 来做到这一点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。