我正在尝试在我的 Raspberry Pi 3 B+ 上安装 OpenVINO 以使用 Neural Compute Stick 2。他们最近发布了对此的支持,我正在按照此处的安装说明进行操作: https://software.intel.com/en-us/articles/OpenVINO-Install-RaspberryPI
首先,我在运行这个命令时确实遇到了问题,即“安装软件包”部分中的#4:
sed -i "s|<INSTALLDIR>|$(pwd)/inference_engine_vpu_arm|" inference_engine_vpu_arm/bin/setupvars.sh
在我进入下一步后,它会告诉我有一个语法错误,所以我用目录手动编辑了这个文件(setupvars.sh)——这是准确的吗?它似乎工作正常:
INSTALLDIR=~/Downloads
但是,我现在遇到的真正问题是“添加 USB 规则”部分的第 2 步:
sh inference_engine_vpu_arm/install_dependencies/install_NCS_udev_rules.sh
出现此错误:
Update udev rules so that the toolkit can communicate with your neural compute stick
File '97-myriad-usbboot.rules' is missing. Please check that you installed 'Inference Engine Runtime for Intel® Movidius™ VPU'.
inference_engine_vpu_arm/install_dependencies/install_NCS_udev_rules.sh: 30: exit: Illegal number: -1
我看到 Linux 入门指南第 3 步中有类似的内容,但这对我来说似乎也不起作用(我确实更改了创建的文件的名称以匹配错误消息,97-myraid-usbboot.rules): https://software.intel.com/en-us/neural-compute-stick/get-started
我也尝试过这样做并运行 _install_all_dependencies.sh 但是它尝试执行的每个操作都会出现“找不到命令”错误。
我也在英特尔论坛上问过这个问题(它正在等待版主批准发布,因此在我在这里发布时还没有发布): https://software.intel.com/en-us/forums/computer-vision
更新 好吧,这和路径有关。我打开文件,用绝对路径替换了该行,这样我就可以继续了。我现在假设这个路径问题(我在这里首先提到的)会给我带来更多问题,我是否包含错误的路径?
现在,当我尝试运行此包附带的示例时,出现了新的错误。我应该开始一个新问题还是将其添加到此处?
答案1
今天,当我尝试在 Raspberry Pi 3 上安装 OpenVino 时,我遇到了同样的问题。出于某种原因,网站上的说明没有提到安装目录(这是您必须在 setupvars.sh 中手动编辑的部分)应该与文件位于同一文件夹(即 /home/pi/Downloads/inference_engine_vpu_arm/),否则在所有其他脚本中设置的路径都是错误的。一旦将其设置为文件夹,其余所有脚本都可以完美运行。
希望这可以帮助!
答案2
我们直接来看sh文件:
echo "Updating udev rules..."
if [ -z "$INTEL_OPENVINO_DIR" ]; then
echo "Please set up your environment. Run 'source <OPENVINO_INSTALLDIR>/bin/setupvars.sh'."
exit -1
fi
if [ -f "$INTEL_OPENVINO_DIR/deployment_tools/inference_engine/external/97-myriad-usbboot.rules" ]; then
sudo usermod -a -G users "$(whoami)"
sudo cp "$INTEL_OPENVINO_DIR/deployment_tools/inference_engine/external/97-myriad-usbboot.rules" /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo ldconfig
echo "Udev rules have been successfully installed."
else
echo "File '97-myriad-usbboot.rules' is missing. Please make sure you installed 'Inference Engine Runtime for Intel® Movidius™ VPU'."
exit -1
fi
这个脚本很简单,它只是检查文件是否存在,然后复制并更新。
我更喜欢在脚本文件开头直接指定相应的目录,像这样:
INTEL_OPENVINO_DIR=/opt/intel/openvino_2021
echo "Updating udev rules..."
# ...
然后再次运行它。
请注意,在某些自编译版本中可能不包含此规则文件,但您仍然可以从官方版本中获取它,并且它实际上与版本无关。