QCS6490的DSP上运行YoloV8没有办法得到正确的结果,检出的输出几乎都是0, 应该如何解决这个问题啊?

美滋滋的 2024-08-23 14:44:55

QCS6490的DSP上运行YoloV8没有办法得到正确的结果,检出的输出几乎都是0, 应该如何解决这个问题啊?

...全文
1015 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38498942 2024-08-26
  • 打赏
  • 举报
回复 1

如果CPU和CPU能够得到正确的结果,而运行DSP的时候没有办法得到正确的结果, 那么问题可能是出在量化上. 我们可以通过看yolov8的网络结构可以看出, 最后的输出钱有两组输入, 分别为

img

Sigmoid和Mul
其中sigmoid的数据范围应该是0~1, MUL的数据范围可能会很大, 那么在量化这个Concat节点的时候, 因为MUL的输出的范围很大, 需要使用的量化系数就很大, 所以对于sigmoid而言, 他们的输出就会被过大的量化系数进行量化, 使sigmoid的输出结果基本都为0, 那么所以的输出最后就都会为0 ,所以这个时候需要把最后的contact拿到CPU中进行运算, 这样我们在保证大部分速度的情况下, 能保证yolov8的精度.

2,851

社区成员

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

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