win10下使用opencv4.5.0 cuda版本编译和目标检测的几个问题

最近,opencv4.5.0调用yolov4进行目标检测,需要cuda加速,按照博客上说的编译了带cuda的版本。以下是几个需要注意的问题:

一. 编译注意事项

CUDA_FAST_MATH要选中
OPENCV_GENERATE_SETUPVARS不要选
OPENCV_ENABLE_NONFREE要选中,这是扩展包
CUDA_ARCH_BIN只需留下适合自己电脑的算力,比如TITAN RTX 和RTX2080Ti都是7.5
BUILD_opencv_world要选中
BUILD_opencv_face不要选,下载不了
OPENCV_EXTRA_MODULES_PATH选opencv_contrib下的modules
TESTS的都不要选
CUDA和Cudnn的版本要看清楚
OPENCV_PYTHON3_VERSION和OPENCV_FORCE_PYTHON_LIBS要选中,才可以使用python的cuda加速
使用opencv-python时,环境要设置成编译时使用的,才能进行cuda加速

  
  

二.推理注意事项

1.在模型读入后,设置GPU加速

	//模型读入
	dnn::Net net = readNetFromDarknet(cfg, weight);
	//使用gpu加速
	net.setPreferableBackend(DNN_BACKEND_CUDA);
	net.setPreferableTarget(DNN_TARGET_CUDA);

  
  

2.加入cuda后推理图片反而更慢,还会出现以下警告:

[ WARN:0] global d:\opencv450\opencv-4.5.0\modules\dnn\src\cuda4dnn/init.hpp (42) cv::dnn::cuda4dnn::checkVersions CUDART version 10000 reported by cuDNN 7605 does not match with the version reported by CUDART 10010

  
  
  • 1

意思是 cudart_version != cudnn_cudart_version
我试了很久,编译了一次又一次,cuda版本也从10.0到10.1到10.2都试了个遍,还是有这种情况。后面写了个循环,发现原来是第一张图片很慢,用了1569毫秒,后面都很快,11毫秒左右,比CPU的95毫秒左右快多了(TITAN RTX -> i9-9900K)。
在这里插入图片描述
欢迎下载我在win10下编译好的opencv4.5.0版本,算力适配7.5, cuda10.1, cudnn7.6.5
https://download.csdn.net/download/qq_36563273/14240311

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值