opencv 使用cuda 加速 dnn

本文详细介绍了在Ubuntu 18.04上配置CUDA 11.2、cuDNN 8.1,并编译OpenCV 4.5.2以支持CUDA和cuDNN的步骤。关键步骤包括安装驱动、CUDA、cuDNN,以及设置编译参数以启用CUDA和cuDNN加速。最后,展示了如何在dnn网络中使用CUDA进行加速。
摘要由CSDN通过智能技术生成

编译支持cuda的opencv

环境

ubuntu 18.04 
opencv 4.5.2
opencv_contrib 4.5.2
nvidia_driver 460.*
nvidia_cuda_version 11.2
cudnn 8.1

安装驱动

ubuntu-drivers devices
查看可以支持的驱动版本
sudo apt install nvidia-driver-460

安装 cuda

https://developer.nvidia.com/cuda-downloads 
下载对应驱动 run 文件
sudo chmod u+x ./****.run

安装cudnn

https://developer.nvidia.com/rdp/cudnn-download
找和你的cuda 版本匹配的 cudnn版本。
下载并解压
sudo cp /cuda/include/* /usr/local/cuda/include
sudo cp /cuda/lib64/* /usr/local/cuda/lib64

编译opencv

cd opencv-4.5.2
mkdir build 
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
	-D OPENCV_ENABLE_NONFREE=ON \
	-D WITH_CUDA=ON \
	-D WITH_CUDNN=ON \
	-D OPENCV_DNN_CUDA=ON \
	-D WITH_LIBV4L=ON\
	-D ENABLE_FAST_MATH=1 \
	-D CUDA_FAST_MATH=1 \
	-D CUDA_ARCH_BIN=6.1 \
	-D WITH_CUBLAS=1 \
	-D CUDNN_VERSION=8.1 \
	-D CUDNN_INCLUDE_DIR=/usr/local/cuda/include \
	-D CUDNN_LIBRARY=/usr/local/cuda/lib64/libcudnn.so \
	-D OPENCV_EXTRA_MODULES_PATH=/home/wen/HardDisk/SoftWare/opencv/opencv_contrib-4.5.2/modules ..
make -j 8
sudo make install 

以上cmake 参数中值得注意的是

-D CUDA_ARCH_BIN 6.1 

这个 6.1, 有两种获取方式

	
git clone https://github.com/NVIDIA-AI-IOT/deepstream_tlt_apps.git

cd deepstream_tlt_apps/TRT-OSS/x86

nvcc deviceQuery.cpp -o deviceQuery

./deviceQuery | grep Capability
  CUDA Capability Major/Minor version number:    6.1

dnn网络使用cuda 加速

dnnnet.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);
dnnnet.setPreferableTarget(cv::dnn::DNN_BACKEND_CUDA);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值