专栏算法工具链模型推理docker和板端速度差异较大

模型推理docker和板端速度差异较大

已解决
guoke6112023-07-04
41
9

如图所示,在模型量化阶段数据显示模型的fps可以达到1000+,但在板端用脚本测试却只有5fps,差距太大了,请问可能有哪些原因,

文件里面有原始onnx文件,bin,yaml文件

文件链接:链接:https://pan.baidu.com/s/1vuS30cQlQ1sBlSrJVPI49w?pwd=1234

提取码:1234

--来自百度网盘超级会员V4的分享

算法工具链
评论1
0/1000
  • 颜值即正义
    Lv.2

    您好,在模型量化阶段显示的模型性能数据是编译器对模型的性能预估,只考虑了运行在BPU上的节点,没有考虑运行在CPU上的节点。在docker中使用命令hb_perf xxx.bin即可生成对bin模型的性能分析信息,您看到的1000+ FPS的数据统计自如下红框部分,除此以外灰色框表示运行在CPU上的节点

    2023-07-04
    0
    8
    • 颜值即正义回复颜值即正义:

      运行在CPU上的节点也会大大降低模型性能。此外,您使用的是batch数为32的模型,在板端实际的FPS是5*batch,约为160FPS

      2023-07-04
      0
    • 颜值即正义回复颜值即正义:

      您好,您可以在yaml文件中开启layer_out_dump,查看各节点耗时,用这种方法可以定位到耗时较大的节点。节点耗时较大一般是因为该节点存在大量的数据搬运操作。

      2023-07-04
      0
    • 颜值即正义回复颜值即正义:

      抱歉写错了,这里是yaml文件里的debug参数

      2023-07-04
      0
    • guoke611回复颜值即正义:

      好的,谢谢

      2023-07-05
      0
    • guoke611回复颜值即正义:

      你好,这四个CPU节点除了softmax之外,其他三个好像都是编译时软件自己加上去的把,可以有办法去掉吗,另外有没有在板端C++运行多线程多核的代码案例可以学习一下

      2023-07-05
      0
    • 颜值即正义回复guoke611:
      您好,除了Softmax节点,其他节点是在转换编译过程中软件自动添加。靠近输入端的是自动添加的数据预处理节点,将读取的图片NCHW layout转为模型输入要求的NHWC layout,您可使用permute手动完成这一过程,再将图片输入模型,即可去掉这一节点;Dequantize节点不靠近输出端,有后续节点Softmax存在,无法删除;靠近输出端的Reshape节点,不会影响模型输出结果,您可以通过hb_model_modifier工具删除,使用方法参考4.1.2.8. hb_model_modifier 工具 — Horizon Open Explorer
      2023-07-05
      0
    • 颜值即正义回复颜值即正义:
      学习板端C++运行多线程多核的代码,可以参考hrt_model_exec工具的源码,路径为OE包一级目录下ddk/package/board/hrt_tools/src/hrt_model_exec
      2023-07-05
      0
    • 颜值即正义回复guoke611:
      您好,地平线工具链在持续迭代优化,为了给您提供更好的服务,希望您能抽出3分钟左右的时间,将您在使用工具链期间的感受和建议告诉我们,您的宝贵意见对我们很重要,非常感谢!
      问卷链接:地平线算法工具链使用满意度反馈
      2023-07-10
      0