Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting error "CUDA backend requires cuDNN" when configuring OpenCV cmake build with cuda backend turned on

My goal:

My goal is to configure a build of OpenCV 4.5.1-dev with support for cuda, tesseract and QT without any cmake error..

The problem I am having:

I am getting the following error when I press the configure button on cmake gui:

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

Here is the full cmake log message I am getting:

Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
Detected processor: AMD64
libjpeg-turbo: VERSION = 2.0.6, BUILD = opencv-4.5.1-dev-libjpeg-turbo
Could NOT find OpenJPEG (minimal suitable version: 2.0, recommended version >= 2.3.1). OpenJPEG will be built from sources
OpenJPEG: VERSION = 2.3.1, BUILD = opencv-4.5.1-dev-openjp2-2.3.1
OpenJPEG libraries will be built from sources: libopenjp2 (version "2.3.1")
found Intel IPP (ICV version): 2020.0.0 [2020.0.0 Gold]
at: C:/Users/ASD/Project/cplusplus/lib/opencv-master/build/3rdparty/ippicv/ippicv_win/icv
found Intel IPP Integration Wrappers sources: 2020.0.0
at: C:/Users/ASD/Project/cplusplus/lib/opencv-master/build/3rdparty/ippicv/ippicv_win/iw
Could NOT find CUDNN (missing: CUDNN_LIBRARY CUDNN_INCLUDE_DIR) (Required is at least version "7.5")
CUDA detected: 11.2
CUDA: Using CUDA_ARCH_BIN=6.1
CUDA NVCC target flags: -gencode;arch=compute_61,code=sm_61;-D_FORCE_INLINES
CUDA: MSVS generator is detected. Disabling CMake re-run checks (CMAKE_SUPPRESS_REGENERATION=ON). You need to run CMake manually if updates are required.
Could not find OpenBLAS include. Turning OpenBLAS_FOUND off
Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off
Could NOT find BLAS (missing: BLAS_LIBRARIES) 
Could NOT find LAPACK (missing: LAPACK_LIBRARIES) 
    Reason given by package: LAPACK could not be found because dependency BLAS could not be found.

VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file
OpenCV Python: during development append to PYTHONPATH: C:/Users/ASD/Project/cplusplus/lib/opencv-master/build/python_loader
Module opencv_alphamat disabled because the following dependencies are not found: Eigen
Caffe:   NO
Protobuf:   NO
Glog:   NO
freetype2:   NO
harfbuzz:    NO
Julia not found. Not compiling Julia Bindings. 
Module opencv_ovis disabled because OGRE3D was not found
No preference for use of exported gflags CMake configuration set, and no hints for include/library directories provided. Defaulting to preferring an installed/exported gflags CMake configuration if available.
Failed to find installed gflags CMake configuration, searching for gflags build directories exported with CMake.
Failed to find gflags - Failed to find an installed/exported CMake configuration for gflags, will perform search for installed gflags components.
Failed to find gflags - Could not find gflags include directory, set GFLAGS_INCLUDE_DIR to directory containing gflags/gflags.h
Failed to find glog - Could not find glog include directory, set GLOG_INCLUDE_DIR to directory containing glog/logging.h
Module opencv_sfm disabled because the following dependencies are not found: Eigen Glog/Gflags
Tesseract:   NO
Allocator metrics storage type: 'long long'
CMake Error at modules/dnn/CMakeLists.txt:39 (message):
  DNN: CUDA backend requires cuDNN.  Please resolve dependency or disable
  OPENCV_DNN_CUDA=OFF


Registering hook 'INIT_MODULE_SOURCES_opencv_dnn': C:/Users/ASD/Project/cplusplus/lib/opencv-master/modules/dnn/cmake/hooks/INIT_MODULE_SOURCES_opencv_dnn.cmake
opencv_dnn: filter out cuda4dnn source code
rgbd: CERES support is disabled. Ceres Solver is Required for Posegraph optimization

General configuration for OpenCV 4.5.1-dev =====================================
  Version control:               unknown

  Extra modules:
    Location (extra):            C:/Users/ASD/Project/cplusplus/lib/opencv_contrib-master/modules
    Version control (extra):     unknown

  Platform:
    Timestamp:                   2021-01-20T14:05:20Z
    Host:                        Windows 10.0.19042 AMD64
    CMake:                       3.19.1
    CMake generator:             Visual Studio 16 2019
    CMake build tool:            C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/MSBuild.exe
    MSVC:                        1928
    Configuration:               Debug Release

  CPU/HW features:
    Baseline:                    SSE SSE2 SSE3
      requested:                 SSE3
    Dispatched code generation:  SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
      requested:                 SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
      SSE4_1 (17 files):         + SSSE3 SSE4_1
      SSE4_2 (2 files):          + SSSE3 SSE4_1 POPCNT SSE4_2
      FP16 (1 files):            + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
      AVX (5 files):             + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
      AVX2 (31 files):           + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
      AVX512_SKX (7 files):      + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_COMMON AVX512_SKX

  C/C++:
    Built as dynamic libs?:      YES
    C++ standard:                11
    C++ Compiler:                C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe  (ver 19.28.29336.0)
    C++ flags (Release):         /DWIN32 /D_WINDOWS /W4 /GR  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:precise     /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /MP  /MD /O2 /Ob2 /DNDEBUG 
    C++ flags (Debug):           /DWIN32 /D_WINDOWS /W4 /GR  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:precise     /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /MP  /MDd /Zi /Ob0 /Od /RTC1 
    C Compiler:                  C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe
    C flags (Release):           /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:precise     /MP   /MD /O2 /Ob2 /DNDEBUG 
    C flags (Debug):             /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:precise     /MP /MDd /Zi /Ob0 /Od /RTC1 
    Linker flags (Release):      /machine:x64  /INCREMENTAL:NO 
    Linker flags (Debug):        /machine:x64  /debug /INCREMENTAL 
    ccache:                      NO
    Precompiled headers:         YES
    Extra dependencies:          cudart_static.lib nppc.lib nppial.lib nppicc.lib nppidei.lib nppif.lib nppig.lib nppim.lib nppist.lib nppisu.lib nppitc.lib npps.lib cublas.lib cufft.lib -LIBPATH:C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2/lib/x64
    3rdparty dependencies:

  OpenCV modules:
    To be built:                 aruco bgsegm bioinspired calib3d ccalib core cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv datasets dnn dnn_objdetect dnn_superres dpm face features2d flann fuzzy gapi hfs highgui img_hash imgcodecs imgproc intensity_transform line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot quality rapid reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab xfeatures2d ximgproc xobjdetect xphoto
    Disabled:                    world
    Disabled by dependency:      -
    Unavailable:                 alphamat cnn_3dobj freetype hdf java julia matlab ovis python2 python3 sfm viz
    Applications:                tests perf_tests apps
    Documentation:               NO
    Non-free algorithms:         YES

  Windows RT support:            NO

  GUI: 
    QT:                          YES (ver 5.15.2)
      QT OpenGL support:         NO
    Win32 UI:                    YES
    VTK support:                 NO

  Media I/O: 
    ZLib:                        build (ver 1.2.11)
    JPEG:                        build-libjpeg-turbo (ver 2.0.6-62)
    WEBP:                        build (ver encoder: 0x020f)
    PNG:                         build (ver 1.6.37)
    TIFF:                        build (ver 42 - 4.0.10)
    JPEG 2000:                   build (ver 2.3.1)
    OpenEXR:                     build (ver 2.3.0)
    HDR:                         YES
    SUNRASTER:                   YES
    PXM:                         YES
    PFM:                         YES

  Video I/O:
    DC1394:                      NO
    FFMPEG:                      YES (prebuilt binaries)
      avcodec:                   YES (58.91.100)
      avformat:                  YES (58.45.100)
      avutil:                    YES (56.51.100)
      swscale:                   YES (5.7.100)
      avresample:                YES (4.0.0)
    GStreamer:                   NO
    DirectShow:                  YES
    Media Foundation:            YES
      DXVA:                      YES

  Parallel framework:            Concurrency

  Trace:                         YES (with Intel ITT)

  Other third-party libraries:
    Intel IPP:                   2020.0.0 Gold [2020.0.0]
           at:                   C:/Users/ASD/Project/cplusplus/lib/opencv-master/build/3rdparty/ippicv/ippicv_win/icv
    Intel IPP IW:                sources (2020.0.0)
              at:                C:/Users/ASD/Project/cplusplus/lib/opencv-master/build/3rdparty/ippicv/ippicv_win/iw
    Lapack:                      NO
    Eigen:                       NO
    Custom HAL:                  NO
    Protobuf:                    build (3.5.1)

  NVIDIA CUDA:                   YES (ver 11.2, CUFFT CUBLAS)
    NVIDIA GPU arch:             61
    NVIDIA PTX archs:

  cuDNN:                         NO

  OpenCL:                        YES (NVD3D11)
    Include path:                C:/Users/ASD/Project/cplusplus/lib/opencv-master/3rdparty/include/opencl/1.2
    Link libraries:              Dynamic load

  Python (for build):            C:/Python27/python.exe

  Java:                          
    ant:                         NO
    JNI:                         C:/Program Files/OpenJDK/openjdk-11.0.9_11/include C:/Program Files/OpenJDK/openjdk-11.0.9_11/include/win32 C:/Program Files/OpenJDK/openjdk-11.0.9_11/include
    Java wrappers:               NO
    Java tests:                  NO

  Install to:                    C:/Users/ASD/Project/cplusplus/lib/opencv-master/build/install
-----------------------------------------------------------------

Configuring incomplete, errors occurred!
See also "C:/Users/ASD/Project/cplusplus/lib/opencv-master/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/ASD/Project/cplusplus/lib/opencv-master/build/CMakeFiles/CMakeError.log".

What I am expecting is to be able to be able to configure the cmake build without any cmake error.

Information to help you recreate the problem:

  • Here is the nvcc version I have installed:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Nov_30_19:15:10_Pacific_Standard_Time_2020
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293_0
  • Here is my cmake build configuration: Cmake build configuration I configured cmake gui to compile opencv using visual studio 2019
  • The version of open cv I want to build OpenCV 4.5.1-dev
  • The cmake version I am using is 3.19.1
  • Here is the information I have about the version of visual studio I have installed:
Microsoft Visual Studio Community 2019
Version 16.8.4
VisualStudio.16.Release/16.8.4+30907.101
Microsoft .NET Framework
Version 4.8.04084

Installed Version: Community

Visual C++ 2019   00435-60000-00000-AA180
Microsoft Visual C++ 2019

ASP.NET and Web Tools 2019   16.8.557.25636
ASP.NET and Web Tools 2019

Azure App Service Tools v3.0.0   16.8.557.25636
Azure App Service Tools v3.0.0

C# Tools   3.8.0-5.20604.10+9ed4b774d20940880de8df1ca8b07508aa01c8cd
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

ClangFormat   1.0
Formats code by calling the clang-format executable.

Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Discord RPC for Visual Studio   1.0
A Discord Rich Presence extension for Visual Studio 2017 and 2019.

Extensibility Message Bus   1.2.6 (master@34d6af2)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.

Image Watch   1.0


IntelliCode Extension   1.0
IntelliCode Visual Studio Extension Detailed Info

Microsoft Azure Tools   2.9
Microsoft Azure Tools for Microsoft Visual Studio 2019 - v2.9.30701.1

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft MI-Based Debugger   1.0
Provides support for connecting Visual Studio to MI compatible debuggers

Microsoft Visual C++ Wizards   1.0
Microsoft Visual C++ Wizards

Microsoft Visual Studio VC Package   1.0
Microsoft Visual Studio VC Package

Mono Debugging for Visual Studio   16.8.43 (00471f8)
Support for debugging Mono processes with Visual Studio.

Node.js Tools   1.5.20902.1 Commit Hash:b474efcb6f92db52a8f8e2e6a8cb9648476885cc
Adds support for developing and debugging Node.js apps in Visual Studio

NuGet Package Manager   5.8.1
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

NVIDIA CUDA 11.2 Wizards   11.2
Wizards to create new NVIDIA CUDA projects and source files.

NVIDIA Nsight Visual Studio Edition   2020.3.0.20315
NVIDIA Nsight Visual Studio Edition provides tools for GPGPU and graphics development.  Copyright © NVIDIA 2010 - 2020.
•Direct3D® and DirectX® are registered trademarks of Microsoft Corporation in the United States and/or other countries.
•Microsoft Detours is used under the Professional license (http://research.microsoft.com/en-us/projects/detours/).
•Gardens Point Parser Generator Copyright 2005 Queensland University of Technology (QUT). All rights reserved.
•Icons from Axialis Software used under the licensing terms found here: www.axialis.com
•NLog Copyright © 2004-2006 Jaroslaw Kowalski ([email protected])
•zlib and libpng used under the zlib/libpnc license (http://opensource.org/licenses/Zlib) 
•Breakpad Copyright ©2006, Google Inc. All rights reserved.
•The OpenGL Extension Wrangler Library
Copyright ©2008-2016, Nigel Stewart ([email protected]), Copyright ©2002-2008, Milan Ikits ([email protected]), Copyright ©2002-2008, Marcelo E. Magallon ([email protected]), Copyright ©2002, Lev Povalahev. 
All rights reserved. 
•LIBSSH2 Copyright ©2004-2007 Sara Golemon ([email protected]), Copyright ©2005,2006 Mikhail Gusarov ([email protected]),Copyright ©2006-2007 The Written Word, Inc.,Copyright ©2007 Eli Fant ([email protected]),Copyright ©2009-2014 Daniel Stenberg., Copyright ©2008, 2009 Simon Josefsson.
All rights reserved. 
•Protobuf Copyright ©2014, Google Inc. All rights reserved.
•xxHASH Library Copyright ©2012-2014, Yann Collet. All rights reserved. 
•FMT Copyright ©2012 - 2016, Victor Zverovich 
•Font Awesome Copyright 2018 Fonticons, Inc. 
•ELF Definitions Copyright (c) 2010 Joseph Koshy, All rights reserved.

Warning: This computer program is protected by copyright law and international treaties. Unauthorized reproduction or distribution of this program, or any portion of it, may result in severe civil and criminal penalties, and will be prosecuted to the maximum extent possible under the law.

NVIDIA Nsight Visual Studio Edition - CUDA support   2020.3.0.20315
NVIDIA Nsight Visual Studio Edition - CUDA support provides tools for CUDA development and debugging.

ProjectServicesPackage Extension   1.0
ProjectServicesPackage Visual Studio Extension Detailed Info

Python - VC Project Support   16.1.19129.1
Provides support for launching C++ projects with Python debugging enabled.

Qt Visual Studio Tools   2.6.0.7
The Qt Visual Studio Tools allow developers to use the standard development environment without having to worry about any Qt-related build steps or tools.

Stack Overflow Quick Launch Search Provider   1.0.1
Stack Overflow search provider for Visual Studio's Quick Launch

Start Page+   1.0.1
Bring back Start Page! (a document tab, NOT a modal window)

Syntax Highlighting Pack   2.8.134
Adds syntax highlighting and snippet support for a wide variety of programming languages such as Clojure, Go, Jade, Lua, Swift, Ruby and many more...

Test Adapter for Boost.Test   1.0
Enables Visual Studio's testing tools with unit tests written for Boost.Test.  The use terms and Third Party Notices are available in the extension installation directory.

Test Adapter for Google Test   1.0
Enables Visual Studio's testing tools with unit tests written for Google Test.  The use terms and Third Party Notices are available in the extension installation directory.

Text Sharp   2.3.0
Visual Studio IDE text clarity tuner. An easy way to turn off ClearType.

TypeScript Tools   16.0.21016.2001
TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools   3.8.0-5.20604.10+9ed4b774d20940880de8df1ca8b07508aa01c8cd
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools   16.8.0-beta.20507.4+da6be68280c89131cdba2045525b80890401defd
Microsoft Visual F# Tools

Visual Studio Code Debug Adapter Host Package   1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

Visual Studio Tools for CMake   1.0
Visual Studio Tools for CMake

VisualStudio.DeviceLog   1.0
Information about my package

VisualStudio.Foo   1.0
Information about my package

VisualStudio.Mac   1.0
Mac Extension for Visual Studio

VSColorOutput   2.73
Color output for build and debug windows - https://mike-ward.net/vscoloroutput

Xamarin   16.8.000.261 (d16-8@bb99248)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer   16.8.0.507 (remotes/origin/d16-8@e87b24884)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin Templates   16.8.112 (86385a3)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.

Xamarin.Android SDK   11.1.0.26 (d16-8/a36ce73)
Xamarin.Android Reference Assemblies and MSBuild support.
    Mono: 5e9cb6d
    Java.Interop: xamarin/java.interop/d16-8@79d9533
    ProGuard: Guardsquare/proguard/proguard6.2.2@ebe9000
    SQLite: xamarin/sqlite/3.32.1@1a3276b
    Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-8@2fb1cbc


Xamarin.iOS and Xamarin.Mac SDK   14.8.0.3 (c51fabee8)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.
  • My GPU is a nvidia gtx 1050 mobile with 2gb of vram
  • Here are my cmake changes:
Commandline options:
-DBUILD_CUDA_STUBS:BOOL="1" -DBUILD_opencv_bgsegm:BOOL="1" -DCUDA_USE_STATIC_CUDA_RUNTIME:BOOL="1" -DCUDA_GENERATION:STRING="" -DANT_EXECUTABLE:FILEPATH="ANT_EXECUTABLE-NOTFOUND" -DCUDA_ARCH_BIN:STRING="6.1" -DWITH_CUDNN:BOOL="0" -DTesseract_LIBRARY:FILEPATH="C:/Users/ASD/Project/cplusplus/lib/tesseract-master/build/bin/RelWithDebInfo/text2image.lib" -DCUDA_ARCH_PTX:STRING="" -DTesseract_DIR:PATH="Tesseract_DIR-NOTFOUND" -DWITH_FREETYPE:BOOL="1" -DCUDA_TOOLKIT_ROOT_DIR:PATH="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2" -DBUILD_opencv_world:BOOL="1" 


Cache file:
BUILD_CUDA_STUBS:BOOL=1
BUILD_opencv_bgsegm:BOOL=1
CUDA_USE_STATIC_CUDA_RUNTIME:BOOL=1
CUDA_GENERATION:STRING=
ANT_EXECUTABLE:FILEPATH=ANT_EXECUTABLE-NOTFOUND
CUDA_ARCH_BIN:STRING=6.1
WITH_CUDNN:BOOL=0
Tesseract_LIBRARY:FILEPATH=C:/Users/ASD/Project/cplusplus/lib/tesseract-master/build/bin/RelWithDebInfo/text2image.lib
CUDA_ARCH_PTX:STRING=
Tesseract_DIR:PATH=Tesseract_DIR-NOTFOUND
WITH_FREETYPE:BOOL=1
CUDA_TOOLKIT_ROOT_DIR:PATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2
BUILD_opencv_world:BOOL=1

Attempt to solve the problem

Error: CUDA backend requires cuDNN. Please resolve dependency or disable

Attempt to solve the problem:

  1. Specified the Cmake option CUDA_ARCH_BIN to what the version of the cuda sdk (11.2). I think the flag is about the the cuda dnn version
  2. Specified the cmake option CUDA_ARCH_PTX to my gpu Compute capability (version) as I think it's about the Compute capability (version). I know what is my compute capability according to this wikipedia article
  3. I tried following the instruction of AbdelAziz AbdelLatef found in this thread: How to deal with "DNN module was not built with CUDA backend; switching to CPU" warning in C++? however it didn't helped out as the cmake flags were already enabled and I already added the opencv contrib to my cmake configuration
  4. I tried specifying the CUDA_ARCH_BIN flag to 6.1 like this issue comment on opencv issue that is like mine pointed out. After following what he said, said I still have the error.
like image 857
Vini Dalvino Avatar asked Jan 20 '21 16:01

Vini Dalvino


Video Answer


1 Answers

I was receiving the same error while performing a a cmake command like this

The problem is, OpenCV is expecting WITH_CUDNN to be set to ON while it was OFF.

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
           -D CMAKE_INSTALL_PREFIX=/usr/local \
           -D INSTALL_PYTHON_EXAMPLES=OFF \
           -D INSTALL_C_EXAMPLES=OFF \
           -D OPENCV_ENABLE_NONFREE=ON \
           -D WITH_CUDA=ON \
           -D WITH_CUDNN=OFF \ ### This is the switch I had to flip to get it working!
           -D OPENCV_DNN_CUDA=ON \
           -D ENABLE_FAST_MATH=1
           -D CUDA_FAST_MATH=1 \
           -D CUDA_ARCH_BIN=10.2 \
           -D WITH_CUBLAS=1 \
           -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
           -D HAVE_opencv_python3=ON \
           -D PYTHON_EXECUTABLE=~/virtualenvs/opencv_cuda/bin/python/ \
           -D BUILD_EXAMPLES=OFF ..

I was recieving the exact error as you have:

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

So Instead of -D WITH_CUDNN=OFF

I used -D WITH_CUDNN=ON

And it worked like a charm when configuring with cmake and compiling with make -j$(nproc)

like image 136
N.I.R.E.X Avatar answered Nov 03 '22 21:11

N.I.R.E.X