如何解决Raspberry PI 3B+ 上的 OpenVino 和 PyInstaller
我尝试使用 OpenVino 2020.4.287 使用 PyInstaller 为 Python 3.5 构建一个独立的可执行文件。
PyInstaller 成功组装了一个文件,但我在启动后收到下一个错误:
ImportError: No module named 'openvino'
我尝试在构建可执行文件时将 /opt/intel/openvino/deployment_tools/inference_engine/lib/armv7l/plugins.xml 包含在数据中,但没有帮助。
那么问题是如何使用带有 OpenVino 导入的 PyInstaller 在 Raspbian 中构建独立的可执行文件?
谢谢。
解决方法
最大的可能性是您在实现之前没有运行 setupvars。 请注意,在进行任何进一步的推理/等之前,您需要确保已在每个 cmd 或终端中运行和初始化 setupvars(您应该看到 init 消息)。
这个 setupvars 会将所需的包保存在一起。因此,如果您不运行它,您面临的问题将持续存在。
,好的,问题解决了。
初始条件:
使用 Python 3.5 的 Raspbian Stretch。
注意事项:
最后一个支持 Python 3.5 的 OpenVino 是 2020.4。
那么,让我们开始吧。我们将创建一个包含下一行的 test.py 文件:
TASK [DEBUG] ***************************************
ok: [myhost] => {
"msg": "test123"
}
现在让我们安装 OpenVino、Pyinstaller,创建一个可执行文件并运行它:
import numpy as np
import openvino.inference_engine.constants
from openvino.inference_engine import IENetwork,IECore
print("start")
e = IECore()
print("end")
应该显示“开始”和“结束”消息。
使用 OpenVino 2020.4 时最重要的是下一行:
sudo pip3 install pyinstaller
sudo mkdir -p /opt/intel/openvino
wget https://storage.openvinotoolkit.org/repositories/openvino/packages/2020.4/l_openvino_toolkit_runtime_raspbian_p_2020.4.287.tgz
sudo tar -xf l_openvino_toolkit_runtime_raspbian_p_2020.4.287.tgz --strip 1 -C /opt/intel/openvino
rm l_openvino_toolkit_runtime_raspbian_p_2020.4.287.tgz
sudo apt install cmake
source /opt/intel/openvino/bin/setupvars.sh
sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh
pyinstaller --onefile --clean --add-data="/opt/intel/openvino/deployment_tools/inference_engine/lib/armv7l/plugins.xml:." test.py
dist/test
在以前版本的 OpenVino 中,如果没有这条线,一切都将正常工作。但是在我的特定情况下,我在 2020.4 早期的 OpenVino 版本上遇到了下一个错误: openvino.inference_engine.ie_api.ICore' 对象没有属性 'read_network 这就是我为 openvino.inference_engine.constants 指定导入的原因。没有这个,在 OpenVino 2020.4 中什么都不起作用。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。