机器学习:如何编译OpenCV以包括CUDA GPU支持?
磐创AI本文将逐步介绍如何编译OpenCV以包括CUDA GPU支持,以便可以在基于视觉的机器学习项目中使用它。
Pre:我之所以决定写这篇文章,是因为我发现现有指南缺少一些更详细的信息,无法说明如何使用CUDA GPU支持从源代码构建OpenCV,以便将其导入python3.8conda环境。大多数人都以构建过程结束,但低估这只是使OpenCV在项目中正常工作的第一步。
先决条件
在开始之前,我们必须下载一些文件,安装一些程序。我还将假设你正在将Anaconda软件包管理器环境用于Python 3.8,并将其设置为启用的默认python和环境变量。如果没有,我不确定以下内容是否对你有用。我不建议偏离主要任务。
Anaconda软件包管理器环境:https://www.anaconda.com/distribution/#download-section
1. Visual Studio 2019
请确保VisualStudio 2019安装了“带有C++的桌面开发”包。这是在Visual Studio的安装过程中完成的。如果你已经安装了VS2019,但是不确定是否已安装工作负载,可以通过安装可执行文件重新安装(修改)来完成。
使用C ++开发的Visual Studio 2019
2. OpenCV和OpenCV贡献文件
在计算机上的某个位置创建一个名为“ OpenCV_Build”的文件夹。它不必确切地命名为这个,你要看一眼就知道它是什么。然后,你将同时下载OpenCV和OpenCV contrib.zip。
OpenCV:https://github.com/opencv/opencv/archive/4.4.0.zip
OpenCV contrib:https://github.com/opencv/opencv_contrib/archive/4.4.0.zip
下载完成后,解压缩zip并将生成的文件夹移到OpenCV_Build中。它应该类似于:OpenCV_Build/opencv-4.5.2OpenCV_Build/opencv_contrib-4.5.2
你要确保它们都是相同的版本(在本例中为4.5.2)。
我还想确保它们是顶级目录,而不是嵌套在具有相同名称的文件夹中,但这不是完全必要的,只是使得我们的环境路径更加精简。
3. CMake GUI
下载并安装CMake GUI
CMake GUI:https://cmake.org/
我使用的是3.20.2版,但是安装哪个版本都没有关系。
4. CUDA 11.0工具包
下一步,你必须在Nvidia网站上注册才能下载并安装CUDA工具包,该工具包既快速又简单,完全不需要花费很多时间。
下载CUDA工具包:https://developer.nvidia.com/cuda-downloads
5. cuDNN
此步骤与上一步非常相似,但是你必须下载cuDNN才能利用DNN CUDA后端。
下载cuDNN:https://developer.nvidia.com/rdp/cudnn-download
在Nvidia开发人员程序中注册后,你将需要选择显示以下内容的版本:“for CUDA 11.x”.
6.提取cuDNN文件
cuDNN下载完成后,解压缩zip并打开结果文件夹。在内部,你应该看到一个名为cuda的文件夹,将其打开,然后剩下3个子文件夹,分别为**“ bin”,“ include”和“ lib”。**
你将把文件从每个子文件夹复制到 C:Program FilesNVIDIA GPU Computing ToolkitCUDA11.3 中的相应文件夹中。
downloads/cuda/bin contents to: CUDA/v11.3/bindownloads/cuda/include contents to: CUDA/v11.3/includedownloads/cuda/lib/x64 contents to: CUDA/v11.3/lib/x64
7.下载Ninja以获得更快的构建时间
Ninja将极大地加快OpenCV的构建过程。
Ninja:https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip
我个人发现,Ninja从1小时45分钟缩短到不到15分钟。解压缩它,然后将Ninja.exe放在你之前创建的“ OpenCV_Build”文件夹中。将所有文件放入各自的文件夹后,应完成prereqs部分。
建议:设置Conda Env
我建议你使用Anaconda,以确保你所做的一切与我所做的相同。你可以使用以下命令设置conda env:conda create -n py38 anaconda python=3.8
建议:为简单起见,创建一些.bat文件
为简单起见,我建议制作一些.bat文件,以防万一在构建过程中出现问题。这样,你可以快速对cmd进行编辑,然后重新运行它,而不必经历一次又一次地重新设置所有环境变量的过程。当出现问题时,它还有助于将事情分解成更易于管理的状态,而且几乎肯定会出错。
1 2 下一页>