onnx部署之针对单张图片的检测---opencv的cuda版本推理比cpu更慢?

       之前在做onnx部署的时候遇到一个大问题,我在成功编译了opencv的cuda版本之后,测试单张图片的检测速度,发现cpu检测的时间只需要300-400ms一张,而我3060的显卡用gpu进行推理居然还需要1900ms一张。一度有点怀疑是不是opencv的编译出现了问题,恰好最近认识了一个csdn的朋友也在搞这个东西,所以相互交流了一下,发现原来问题就出在与检测单张图片上,将代码更改为检测视频,获取逐帧检测解决,最终yolov5s.onnx在我的电脑上gpu的推理时间为10ms左右一张,在cpu上推理时间为300-400ms一张。
感谢-_Matrix_--CSDN博客这位兄弟的指点,不然我还在编译更高版本的opencv。

--------------------------------------------------------------------------------------------------------------------------

最后看看chatgpt的解释吧:
       CUDA 在处理单张图片时通常会受到数据传输、CUDA 内核启动和初始化等方面的开销,而这些开销在处理多张图片时可以被分摊到多个图片上。因此,当处理多张图片时,CUDA 可以更有效地利用 GPU 的并行性,从而显著提高处理速度。

      另外,单张图片的处理可能会导致 GPU 的负载不足,无法充分利用 GPU 的并行性能,而处理多张图片可以更充分地利用 GPU 的并行性能,从而提高整体处理速度。

      综上所述,处理多张图片时通常会比处理单张图片速度更快,特别是在使用 CUDA 加速时。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值