在骁龙设备上用 TensorFlow Lite 调用 QNN delegate,模型推理速度反而不如 CPU,可能是哪些原因?

云胡不喜只喜你 2026-09-28 17:58:33

在骁龙设备上用 TensorFlow Lite 调用 QNN  delegate,模型推理速度反而不如 CPU,可能是哪些原因?

...全文
41 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38498942 09-30 10:38
  • 打赏
  • 举报
回复

速度不如 CPU,通常不是 HTP 本身慢,而是模型结构、量化方式、输入输出拷贝、算子回退和运行时版本组合导致的。常见原因包括:模型太小,HTP 调度和数据拷贝开销占比过高;算子大量回退到 CPU;输入输出张量没有复用,每次推理都重复分配内存;FP16/INT8 量化效果差,导致部分算子降级;QNN delegate 版本与设备 Runtime 不匹配。
可以先开启 QNN_LOG_LEVEL=6 查看算子卸载情况:

bash

export QNN_LOG_LEVEL=6  

然后检查日志中哪些算子跑在 HTP,哪些回退 CPU。建议:对中等以上计算量模型开启 INT8 量化;固定输入 Shape;复用 ByteBuffer 输入输出;避免每帧反复创建 Interpreter。示例:

java

Interpreter.Options options = new Interpreter.Options();
QnnDelegate delegate = new QnnDelegate();
options.addDelegate(delegate);
Interpreter interpreter = new Interpreter(modelBuffer, options);  

如果模型确实很小,例如不到 100M FLOPs,有时 CPU 或 Adreno GPU 反而更稳定。参考:https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/tensorflow_lite_delegate.html

7,745

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、IoT、PC 、XR、Auto等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
物联网人工智能开源 企业社区 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧