yolo使用gpu识别不出检测框

项目场景:

操作系统:windows10
硬件设备:RTX1650(其他可能出现该问题的显卡:游戏本显卡1650,1660以及1660Ti)


问题描述

yolo系列运行成功后,在cpu中能跑出检测框来,gpu中识别不出检测框
c语言代码:

darknet_no_gpu.exe detect yolov3.cfg yolov3.weights dog.jpg

cpu用时:1148.185000 milli-seconds.

darknet.exe detect yolov3.cfg yolov3.weights dog.jpg

gpu用时:517.685000 milli-seconds.


python语言代码:

python detect.py --weights yolov7.pt --source bus.jpg --no-trace --device cpu

cpu用时:(720.1ms) Inference

python detect.py --weights yolov7.pt --source bus.jpg --no-trace

gpu用时:(231.3ms) Inference


原因分析:

猜测原因:RTX1650没有达到CUDNN_HALF使用要求


解决方案:

总结:需要关闭CUDNN_HALF
一、yolov3;Visual Studio 2019;c语言

方法一:右键属性 -> C/C++ -> 预处理器定义 -> 删除cudnn_half
方法二:使用记事本打开darknet.vcxproj -> 编辑 -> 查找 ->删除cudnn_half

二、yolov7;PyCharm Community Edition 2021;python语言
在主函数中添加:

torch.backends.cudnn.enabled = False

你可能感兴趣的:(python,c++)