如果你已经安装了CUDA和cuDNN,但OpenCV仍然找不到cuDNN,可能是由于以下几个原因导致的。以下是一些可能的解决方案:
bash
cmake -D WITH_CUDA=ON -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON ...
bash
nvcc --version
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
PATH
、LD_LIBRARY_PATH
和CUDA_HOME
。例如:
bash
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
bash
echo $PATH
echo $LD_LIBRARY_PATH
echo $CUDA_HOME
libcudnn.so
)在/usr/local/cuda/lib64
或/usr/lib/x86_64-linux-gnu
等目录中,并且这些目录在LD_LIBRARY_PATH
中。bash
ls /usr/local/cuda/lib64/libcudnn*
python
import cv2
print(cv2.getBuildInformation())
python
import cv2
net = cv2.dnn.readNetFromCaffe(prototxt, model)
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)
net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)
通过以上步骤,你应该能够解决OpenCV找不到cuDNN的问题。如果问题仍然存在,建议检查OpenCV的官方文档或社区论坛,获取更多帮助。