首页 > 解决方案 > Python 在使用 libhdf5.103.dylib 插件时意外退出

问题描述

我有一个名为 model.h5 的训练有素的机器学习模型。我正在使用 Keras 将模型加载为

>>> from keras.models import load_model
>>> model=load_model("model.h5")

但是会打印以下错误消息。

Segmentation fault: 11

然后出现一个弹出窗口,上面写着

Python quit unexpectedly while using the libhdf5.103.dylib plug-in.

在我的 Linux 机器上,代码正在运行并且模型正在加载,但在我的 Mac 上,出现了所描述的错误。我正在使用 Python 2.7.10。

标签: pythonkeras

解决方案


由于您使用 Flask 运行,因此您的问题可能是默认情况下 Flask 使用多线程调试服务器(当您运行时flask run),而 HDF 默认不支持多线程。

最简单的解决方法是简单地关闭烧瓶服务器的多线程:

flask run --without-threads

您还可以使用线程支持构建 HDF,但这更困难且不完全受支持。在生产中,这通常不是问题,因为生产 WSGI 服务器使用多处理而不是多线程。


推荐阅读