如何让 cmake 在 Ubuntu 20.04 中找到 cuDNN 库

问题描述 投票:0回答:1

我使用的是Ubuntu 20.04,我想编译具有GPU支持和gstreamer支持的opencv-python。我有一个 GTX-1660 Ti GPU,安装了 Cuda-11.2 和 cuDnn 8.9。 当我尝试为此配置 cmake 命令时,出现错误,指示它无法找到我的 cuDnn 安装。

我得到的错误是这样的:

CMake Error at modules/dnn/CMakeLists.txt:56 (message):
  DNN: CUDA backend requires cuDNN.  Please resolve dependency or disable
  OPENCV_DNN_CUDA=OFF

我使用的确切 cmake 命令是这样的:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D WITH_CUDA=ON \
-D WITH_CUDNN=ON \
-D OPENCV_DNN_CUDA=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D CUDA_ARCH_BIN=7.5 \
-D WITH_CUBLAS=1 \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D HAVE_opencv_python3=ON \
-D PYTHON_EXECUTABLE=/usr/bin/python3 \
-D BUILD_EXAMPLES=ON \
-D WITH_GSTREAMER=ON ..

我检查了 pytorch 和 tensorflow-gpu,这些库表明它们能够加载 cuda 和 cudnn。 像这样:

import tensorflow as tf
print(tf.test.is_built_with_cuda())  # This prints out True
print(tf.config.list_physical_devices('GPU')) # This shows my GPU

import torch
print(torch.backends.cudnn.is_available()) # This prints out as True
python-3.x opencv cmake cudnn
1个回答
0
投票

您需要提供 CUDNN 库和 CUDNN include 安装路径到您的 cmake,如下所示:

-D CUDNN_LIBRARY=/usr/lib/x86_64-linux-gnu/libcudnn.so.8.9.7 \
-D CUDNN_INCLUDE_DIR=/usr/include \

以上是.deb安装

但是,如果您从 .tar 文件安装 CUDNN 并将路径复制到 lib 并将文件夹包含到位于 /usr/local/cuda-11.8/ 的 CUDA 安装,则提供相应的路径。

© www.soinside.com 2019 - 2024. All rights reserved.