Skip to main content
qrb_ros_nn_inference 是一个通用的 ROS 2 节点,它加载神经网络模型并通过 Qualcomm AI Engine Direct (QNN) SDK 在 Hexagon HTP NPU 上运行推理。您将它指向一个模型文件,它会订阅一个输入话题,并在输出话题上发布原始推理结果——无需针对特定模型的连接。
这就是”我能从 ROS 在 NPU 上运行我的模型吗?“这个问题的单节点答案。放入从 Qualcomm AI Hub 导出(或您自己的 QNN 导出)的 .tflite / .so / .bin 文件,将节点指向它,然后进行发布/订阅即可。

它是什么

在底层,该节点包装了 qrb_inference_manager——一个调用 QNN API 和 QNN delegate for TensorFlow Lite 的小型 C++ 库。ROS 层只是添加了一个订阅、一个发布以及参数驱动的后端选择。

支持的模型格式

根据上游 README:qrb_ros_nn_inference 1.1.0-jazzy 不支持 .tflite 推理。如果您使用该版本且需要 TFLite,请从 main 分支的源码构建,或使用 npu-workflows.mdx 中的手工构建方式。

快速入门

1

在 Qualcomm® IoT 平台的 Ubuntu 上安装

2

使用您的模型运行

然后在配置的输入话题上发布您的输入,并订阅输出话题。完整参数列表请参阅上游 API 参考。

为什么这有帮助

这是一个通用的 ROS 2 节点,可通过 QNN 在 Hexagon HTP NPU 上加载 .tflite / .so / .bin 模型。对评估者而言:放入您自己的模型、配置节点,即可在 ROS 话题上发布推理结果。前/后处理由您自行处理(或对 YOLO 形状的张量使用 qrb_ros_tensor_process)。

相关内容