ubuntu22.04にOpencv cudaバージョンをインストールする方法とCUDNNが見つからない場合の解決方法

概要

次のインストールの問題を解決します。

-- Could NOT find CUDNN: Found unsuitable version "..", but required is at least "7.5" (found CUDA_cudnn_LIBRARY-NOTFOUND)

cuda の runfile バージョンをダウンロードする

接続アドレス:
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type= runfile_local
ここに画像の説明を挿入します
注: 対応するドライバー バージョンをダウンロードしてください。
ここに画像の説明を挿入します
デフォルトのドライバーと cuda ツールキットの両方が正常にインストールされます。

環境変数を構成する

ここに画像の説明を挿入します

公式ウェブサイトのダウンロード cudann

公式 Web サイトから cuda に対応するバージョンの cudnn をダウンロードします:
https://developer.nvidia.com/rdp/cudnn-archive#a-collapse805-111 a>)ここで間違いを犯しやすいです。8.x 以降の cudnn はこのステートメントを実行する必要があります。 cudnn 8 のバージョンでは、バージョン番号を含むヘッダー ファイルが以前の cudnn.h ではなく別のファイル cudnn_version.h に書き込まれるため、次のステートメントを実行する必要があります (
ここでは、最新の cudnn バージョン v8.6.0 を選択します。
ここに画像の説明を挿入します

sudo cp /usr/include/cudnn*.h /usr/local/cuda/include/
sudo cp /usr/lib/libcudnn* /usr/local/cuda/lib64/

Opencv 依存関係パッケージをインストールする

sudo apt-get update
sudo apt-get upgrade
sudo apt install cmake pkg-config unzip yasm git checkinstall libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libavresample-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libxvidcore-dev x264 libx264-dev libfaac-dev libmp3lame-dev libtheora-dev libfaac-dev libmp3lame-dev libvorbis-dev libopencore-amrnb-dev libopencore-amrwb-dev
sudo apt-get install libdc1394-22 libdc1394-22-dev libxine2-dev libv4l-dev v4l-utils
cd /usr/include/linux
sudo ln -s -f ../libv4l1-videodev.h videodev.h
cd ~
sudo apt-get install libgtk-3-dev libtbb-dev libatlas-base-dev gfortran

opencv と opencv_contrib をダウンロードして解凍します


git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git


コンパイルの準備ができています

cd opencv-4.5.5
mkdir ビルド
cd ビルド

アナコンダ環境をインストールする

次の環境に anaconda をインストールします
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

コンパイルコマンドを実行する

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D CMAKE_C_COMPILER=/usr/bin/gcc-9 \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_opencv_python3=ON \
-D WITH_CUDA=ON \
-D WITH_CUDNN=ON \
-D WITH_TBB=ON \
-D OPENCV_DNN_CUDA=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D CUDA_ARCH_BIN=8.0 \
-D WITH_CUBLAS=1 \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=/home/qwen/opencv_contrib/modules \
-D PYTHON3_EXECUTABLE=/home/qwen/anaconda3/bin/python3.7m \
-D PYTHON3_INCLUDE_DIR=/home/qwen/anaconda3/include/python3.7m \
-D PYTHON3_LIBRARY=/home/qwen/anaconda3/lib/libpython3.7m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/home/qwen/anaconda3/lib/python3.7/site-packages/numpy/core/include \
-D PYTHON3_PACKAGES_PATH=/home/qwen/anaconda3/lib/python3.7/site-packages \
-D PYTHON_DEFAULT_EXECUTABLE=/home/qwen/anaconda3/bin/python3.7m \
-D CUDNN_LIBRARY=/usr/local/cuda/lib64/libcudnn.so.8.9.4 \
-D CUDNN_INCLUDE_DIR=/usr/local/cuda/include  \
-D CUDA_CUDA_LIBRARY=/usr/local/cuda/lib64/stubs/libcuda.so \
-D OPENCV_PYTHON3_INSTALL_PATH=/home/qwen/anaconda3/lib/python3.7/site-packages \
-D OpenCV_INCLUDE_DIRS=/usr/include/openjpeg-2.3 \
-D WITH_WEBP=OFF \
-D WITH_OPENCL=OFF \
-D ETHASHLCL=OFF \
-D ENABLE_CXX11=ON \
-D BUILD_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D WITH_OPENGL=ON \
-D WITH_GSTREAMER=ON \
-D BUILD_OPENJPEG=ON \
-D WITH_V4L=ON \
-D WITH_QT=OFF \
-D BUILD_opencv_python3=ON \
-D BUILD_opencv_python2=OFF \
-D HAVE_opencv_python3=ON   ..

次のコンパイル コマンドは独自のアドレスに置き換える必要があります。

-D CUDA_ARCH_BIN=8.9.4 \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=/home/qwen/opencv_contrib-4.5.2/modules \
-D PYTHON3_EXECUTABLE=/home/qwen/anaconda3/bin/python3.7m \
-D PYTHON3_INCLUDE_DIR=/home/qwen/anaconda3/include/python3.7m \
-D PYTHON3_LIBRARY=/home/qwen/anaconda3/lib/libpython3.7m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/home/qwen/anaconda3/lib/python3.7/site-packages/numpy/core/include \
-D PYTHON3_PACKAGES_PATH=/home/qwen/anaconda3/lib/python3.7/site-packages \
-D PYTHON_DEFAULT_EXECUTABLE=/home/qwen/anaconda3/bin/python3.7m \
-D CUDNN_LIBRARY=/usr/local/cuda/lib64/libcudnn.so.8.9.4 \
-D CUDNN_INCLUDE_DIR=/usr/local/cuda/include  \
-D CUDA_CUDA_LIBRARY=/usr/local/cuda/lib64/stubs/libcuda.so \
-D OPENCV_PYTHON3_INSTALL_PATH=/home/qwen/anaconda3/lib/python3.7/site-packages \

コンパイル成功インジケータ:
ここに画像の説明を挿入します

OpenCVをインストールし、インストールが成功したかどうかを確認します

ここに画像の説明を挿入します
make実行後のログ情報は以下のとおりです。


おすすめ

転載: blog.csdn.net/womengdoushizhongguo/article/details/132967814