j5上运行yolo5x C++耗时过长

用户您好,请详细描述您所遇到的问题:

  1. 系统软件版本: rex@rex release 20230228-162230
  2. 问题涉及的技术领域: 模型部署
  3. 问题描述:根据ddk/samples/ai_benchmark/code/src/method里yolo5x的示例部署好了c++版本的yolo5x,在j5上面测试发现输出帧率很低,推理耗时80ms,后处理耗时180ms,且程序运行时cpu的使用率只有百分之十几。
  4. 后续处理:排查了图像的输入问题,输入频率在20hz,在yolo后处理使用的线程池,后处理耗时下降了80ms,在100ms左右,但整体耗时在200ms左右,还是满足不了实时性需求。

请问cpu这样的占用率是正常占用率吗,推理和后处理耗时太高了,有什么加速的方法吗

您好,我这里运行yolo5x的latency和fps评测,耗时均正常,FPS达到实时性要求。你那里是怎么测试的呢?

您好,我这边是在程序里推理模块和后处理模块记录了一下耗时

这个推理耗时有点大哈,你先用hrt_model_exec工具的perf功能跑一下性能测试看看结果呢

您好,使用这个指令报出了下列这个warning,请问是模型量化这块的问题吗

这个警告可以忽略,是没有某个芯片导致的,再等一会是可以正常出性能评测结果的。

此外,发现这个runtime版本有点低,有半年以上了,可以考虑升级下工具链版本,用最新的环境。

可以设置–frame_count 50,以尽快得到评测结果

您好,我评测了一下我刚转换的模型,结果是不有点太离谱了

确实有点离谱,这像是在x86跑的了,不像在J5。

还可以再x86的docker环境内,运行hb_perf xxxx.bin,查看仿真的性能评测结果。。。

您好,在本地docker环境内运行了hb_perf,fps30+,请问在j5板子上如何部署hrt工具链呢

OE的ddk/package/board/hrt_tools/bin提供了性能评测工具hrt_model_exec,你可以先把这个工具和pp模型一起复制到开发板上,然后运行hrt_model_exec perf --model_file xxxxx.hbm

也可以参考社区文章:板端环境部署 (horizon.cc)

您好,我的模型在j5板子上测试了一下 fps满足使用需求,通过打印发现后处理耗时太高了,这块有什么加速的方法或者设置的内容

这里可以给一些通用的建议,参考FAQ手册第6点 3. 模型部署 — 地平线芯片算法工具链FAQ手册 1.0.2 文档 (horizon.cc)

另外,也可以使用双核多线程推理模型,同时利用多线程计算后处理