Pyinstaller 创建的 exe 文件无法加载 keras nn 模型

and*_*dre 4 python pyinstaller keras

我的 python 脚本包括:

from keras.models import model_from_json
model = model_from_json(open("test.json").read())
model.load_weights("test.h5")
model.compile(loss="mean_squared_error", optimizer = "adam")
Run Code Online (Sandbox Code Playgroud)

然后,我使用上述脚本中的 pyinstaller 创建了一个 exe 文件。exe 文件无法加载保存的模型。对此的任何想法将不胜感激。

9do*_*ogs 5

如果您收到有关h5py子模块的错误,请尝试使用collect_submodulesfunction将它们全部添加到hidden_imports.

您可能注意到了一个myscript.spec由 pyinstaller 生成的文件。此文件中包含有关如何构建脚本的说明(它也只是一个 Python 代码!)。

所以尝试myscript.spec像这样编辑它:

from PyInstaller.utils.hooks import collect_submodules

hidden_imports = collect_submodules('h5py')

a = Analysis(['myscript.py'],
         binaries=None,
         datas=[],
         hiddenimports=hidden_imports,
         hookspath=[],
         runtime_hooks=[],
         excludes=[],
         win_no_prefer_redirects=False,
         win_private_assemblies=False,
         cipher=None)

# ... rest of a file untouched
Run Code Online (Sandbox Code Playgroud)

然后pyinstaller针对该文件运行:pyinstaller myscript.spec.