如何确认 BrainFrame 是否在 HDDL 硬件上运行算法

存档自 BrainFrame 论坛。发布于 2021年4月13日。 0 条回复 · 484 次浏览 由英文原帖翻译成中文。 阅读原文

AOTU support

这篇帖子的目的是深入解释 BrainFrame 如何尝试加载 OpenVINO 算法胶囊。

简短回答:

检查 BrainFrame 日志中是否有如下格式的错误(源代码链接):

Failed to load {BACKEND CLASS NAME} onto device MULTI:CPU,HDDL. 
Error: {OPENVINO ERROR}. Trying again with device_name='CPU'

要获取 BrainFrame 日志,可以运行 brainframe compose logs -f core。也可以通过运行下面的命令过滤日志:

brainframe compose logs -f core | grep Failed

详细回答:

  1. BrainFrame 先加载一个算法胶囊,并检查该算法胶囊支持哪些设备。算法胶囊通过实现 device_mapper 来指定设备加载的逻辑。以我们开源人脸检测器的这一行为例

  2. 函数 DeviceMapper.map_to_openvino_devices() 调用的是 VisionCapsules 库 vcap 中的以下开源代码

  3. 这段代码首先检查名为 OPENVINO_DEVICE_PRIORITY 的环境变量,以确定如何给 openvino 设备排优先级。默认情况下,它会加载到如下设备名称:MULTI:CPU,HDDL。这意味着 CPU 优先,同时也会把 HDDL 作为次优先级进行加载。

要修改 BrainFrame 加载 OpenVINO 设备的方式,请在以下位置创建一个 .env 文件:
/usr/local/share/brainframe/.env

OPENVINO_DEVICE_PRIORITY="HDDL,CPU"

在上面这一行中,我们让 HDDL 设备优先于 CPU。


调试 HDDL 问题

如果你遇到 Failed to load 错误,可能是因为主机上没有可用的 HDDL 驱动。遗憾的是,要在 docker 中运行 HDDL,必须在主机上安装驱动。为此,请在主机上安装 OpenVINO,并运行下面几行命令:

echo "export HDDL_INSTALL_DIR=/opt/intel/openvino/deployment_tools/inference_engine/external/hddl/" >> ~/.bashrc
echo "source /opt/intel/openvino/bin/setupvars.sh" >> ~/.bashrc

# Restart terminal
cd $HDDL_INSTALL_DIR
bash install_IVAD_VPU_dependencies.sh
cd ${HDDL_INSTALL_DIR}/drivers
sudo bash setup.sh install
© 2026 Dilili Labs 版权所有 · 网站隐私声明
Built on 2026-10-10 00:24:35 UTC