您的位置:首页 >宏观经济 >

机器学习:如何编译OpenCV以包括CUDA GPU支持?

时间:2021-05-21 09:55:04 来源:磐创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 ToolkitCUDA 11.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进行编辑,然后重新运行它,而不必经历一次又一次地重新设置所有环境变量的过程。当出现问题时,它还有助于将事情分解成更易于管理的状态,而且几乎肯定会出错。


郑重声明:文章仅代表原作者观点,不代表本站立场;如有侵权、违规,可直接反馈本站,我们将会作修改或删除处理。