Ubuntu20.04+GeForce RTX 2080 SUPER+cuda11.1+cudnn8.0.4+openCV4.4.0编译

Ubuntu20.04+GeForce RTX 2080 SUPER+cuda11.1+cudnn8.0.4+openCV4.4.0环境搭建

  • 1.Ubuntu20.04系统安装
    • 1.1 制作系统盘
    • 1.2 安装Ubuntu20.04系统
    • 1.3 更换国内镜像源
    • 1.4 安装fcitx输入法
  • 2.NVIDIA显卡驱动安装
    • 2.1 查看显卡型号并下载对应驱动
    • 2.2 安装NVIDIA显卡驱动
      • 2.2.1 禁用nouveau驱动
      • 2.2.2 安装NVIDIA驱动
  • 3.CUDA11.1安装
  • 4.CUDNN8.0.4安装
  • 5.OpenCV4.4.0编译
    • 5.1 安装依赖包
    • 5.2 下载opencv-4.4.0和opencv_contrib-4.4.0
    • 5.3 安装OpenCV
      • 5.3.1 Configure
      • 5.3.2 Generate
      • 5.3.3 带CUDA编译
      • 5.3.4 make
      • 5.3.5 配置环境变量
  • 6.OpenCV测试程序
  • 7.YOLO v3测试
  • 参考

经过将近一个月的折腾,终于安装、编译成功,在此做一个记录,以备日后快速搭建环境,也希望能给各位踩坑的小伙伴一点参考。

1.Ubuntu20.04系统安装

1.1 制作系统盘

下载Ubuntu20.04系统镜像和U盘启动制作工具,使用UltraISO制作Ubuntu20.04系统盘。

  • 启动UltraISO,点击“继续试用”

在这里插入图片描述

  • “文件”–>“打开”,选择下载好的Ubuntu镜像

在这里插入图片描述
在这里插入图片描述

  • “启动”–>“写入硬盘镜像”,磁盘驱动器选择提前准备好的闲置U盘,先“格式化”U盘,然后“写入”,等待写入完成即可。

在这里插入图片描述

1.2 安装Ubuntu20.04系统

  • 插入第一步做好的系统盘,开机,出现主板图标时按下F11/F12(不同电脑和主板有所差别,可以根据自己的电脑型号查找)进入快速启动项界面,选择制做好的系统盘

在这里插入图片描述
在这里插入图片描述

  • 在弹出的界面中选第一项“Ubuntu”

在这里插入图片描述

  • Ubuntu20.04安装前首先会检测磁盘,等待检测完成即可

在这里插入图片描述

  • 选择语言,个人建议如果安装Ubuntu系统是用来做开发,语言最好选择English,不要选中文,会避免以后很多不必要的麻烦
  • 点击"Install Ubuntu"

在这里插入图片描述

  • "Keyboard layout"同样选择英文

在这里插入图片描述

  • 如果有无线网卡的话,会弹出连网的界面,这里选择不连接WIFI

在这里插入图片描述

  • “Updates and other software”界面,我选择的是"Minimal installation",这样安装过程会快一些,而且不会安装一些不需要的软件。(Normal installation会安装web浏览器、公用程序、办公软件、游戏和媒体播放器,Minimal installation只会安装web浏览器和基本实用程序)

在这里插入图片描述

  • “Installation type”界面选择“Something else”,自己进行分区

在这里插入图片描述

  • 分区按以下顺序进行:
    !EFI一定要放在最前面

    • EFI:主分区,建议不小于512M,这里我分配了2G
    • 挂载点 / :逻辑分区,ext4日志文件系统,用于存放系统,建议根据自己的磁盘大小分配的大一点,这里我分配了200G(磁盘共1T)
    • swap(交换空间):逻辑分区,大小与电脑的真实内存大小一致,这里我的是32G内存
    • 挂载点 /home :逻辑分区,ext4日志文件系统,将剩余空间全部分配给它

在这里插入图片描述

  • 分区完成后,安装启动引导器的设备选择整个磁盘,点击"Install Now"–>“Continue”

在这里插入图片描述

  • 选择时区,“Shanghai”

在这里插入图片描述

  • 输入用户名和密码

在这里插入图片描述

  • 开始安装,等待完成

在这里插入图片描述
在这里插入图片描述

  • 安装完成后,重启

在这里插入图片描述

  • 重启后按提示拔出U盘后按回车键

在这里插入图片描述

  • 进入登录界面,安装成功

在这里插入图片描述

在这里插入图片描述

  • 最小安装后没有office软件

在这里插入图片描述

1.3 更换国内镜像源

注: 我的台式机装完后无法上有线网,如果有同样问题的小伙伴可以到github下载r8125的网卡驱动,自行安装,可以参考这篇文章

  • 打开应用中心–>“Software & Updates”

在这里插入图片描述

  • “Download from”选择“Other…”

在这里插入图片描述

  • 找到"China",选择适合的源,也可以点击"Select Best Server"自动选择

在这里插入图片描述
在这里插入图片描述

  • “Choose server”–>“Close”–>“Reload”

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 打开终端“Ctrl + Alt + T”,输入sudo apt-get update

在这里插入图片描述

1.4 安装fcitx输入法

  • 卸载IBUS

sudo apt-get purge ibus

  • 打开ubuntu软件中心,搜索fcitx,把带企鹅图标的软件都装上,这里我没有选择fcitx5

在这里插入图片描述

  • 安装输入法码表,这里装的五笔拼音

sudo apt-get install fcitx-table-wbpy

  • 其他输入法如下:

    • 拼音:fcitx-pinyin、fcitx-sunpinyin、fcitx-googlepinyin、fcitx-sogoupinyin
    • 五笔:fcitx-table、fcitx-table-wubi、fcitx-table-wbpy
  • 防止出现两个输入法图标

sudo apt remove fcitx-ui-classic

  • 选择fcitx为系统输入法,“设置”–>“Region & Language”–>“Manage Installed Languages”–>弹出的对话框选“Remind Me Later”–>"Keyboard input method system"选择fcitx–>“close”

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 重启系统

sudo reboot

  • 点击右上角出出现的企鹅图标–>ConfigureFcitx

在这里插入图片描述

  • 点击“+”–>去掉"Only Show Current Language"前面的勾–>下方搜索框中输入"wb"–>选择"WubiPinyin"–>“OK”

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 至此,Ubuntu20.04安装完成

2.NVIDIA显卡驱动安装

2.1 查看显卡型号并下载对应驱动

  • 查看自己的显卡型号,终端输入:lspci | grep -i vga,返回的是一个十六进制的代码(图中的显卡是1650 SUPER)

在这里插入图片描述

  • 如果已经安装了NVIDIA驱动,就会显示显卡型号

在这里插入图片描述

  • 打开这个网站:The PCI ID Repository,在下方的输入框中输入十六进制代码查询相应的显卡型号

在这里插入图片描述
在这里插入图片描述

  • 当然,如果已经安装了NVIDIA的显卡驱动,也可以直接在终端输入nvidia-smi查看显卡型号及驱动等信息

在这里插入图片描述

  • 根据自己的显卡型号,到NVIDIA官网下载对应的驱动 (这里的网址只是GeForce类型的驱动,如果是TITAN或Quadro等可以在这个网址下载,下载步骤类似)

在这里插入图片描述
在这里插入图片描述

2.2 安装NVIDIA显卡驱动

2.2.1 禁用nouveau驱动

  • nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,Ubuntu默认集成了nouveau驱动,若不禁用,安装时会报错
  • nouveau禁止命令写入文件,打开以下文件

sudo gedit /etc/modprobe.d/blacklist.comf

  • 文件末尾添加以下语句,保存退出

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

在这里插入图片描述

  • 调用指令禁止nouveau

echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

  • 更新内核

sudo update-initramfs -u

在这里插入图片描述

2.2.2 安装NVIDIA驱动

  • 重启系统

sudo reboot

  • 进入tty模式,这里F1~F6都可以,我的是F2进入,输入用户名和密码登录(注意这时小键盘不能用,我的电脑这里报了一个声卡的错误,按Ctrl+C强行关掉就行,不会影响后面的安装)

ctrl + alt + F2

在这里插入图片描述

  • 关闭lightdm

sudo service lightdm stop

  • 如果上面指令提示Failed to stop lightdm.service: unit lightdm.service not loaded.
    则先安装lightdm:sudo apt install lightdm,弹出的界选择lightdm,再用上面的指令关闭

在这里插入图片描述

  • 继续输入

sudo init 3

  • 切换到下载的NVIDIA驱动安装包所在目录,赋予可执行权限并安装

cd ~/Download
chmod +x NVIDIA-Linux-x86_64-455.28.run
sudo sh NVIDIA-Linux-x86_64-455.28.run --no-opengl-files
注意:no前面是两个横杠,否则会导致安装失败

  • 接着会出现一些界面,按下面所示选择安装

1、An alternate method of installing the NVIDIA driver was detected. 选择continue installation
这个应该是推荐你通过Ubuntu的“Software & application”中的“Additional Drivers”安装驱动,不用管,继续安装在这里插入图片描述
2、The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
3、Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择NO继续
4、Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes 继续
5、Install NVIDIA’s 32-bit compatibility libraries? 选择No 继续
在这里插入图片描述

注1:如果提示找不到gcc和make,可以在命令行中安装gcc和make后再安装驱动

sudo apt-get install gcc
sudo apt-get install make

注2:如果出现下面的错误提示,是因为bios的Secure Boot打开了,需要进入bios关闭

The target kernel has CONFIG_MODULE_SIG set, which means that it supports cryptographic signatures on kernel modules. On some systems, the kernel may refuse to load modules without a valid signature from a trusted key. This system also has UEFI Secure Boot enabled; many distributions enforce module signature verification on UEFI systems when Secure Boot is enabled. Would you like to sign the NVIDIA kernel module?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 上面的错误都排除掉,安装完成

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 完成后输入nvidia-smi查看显卡信息,如果显示如下内容,说明安装成功

在这里插入图片描述

  • 重启

sudo reboot

  • 重启后打开终端,输入nvidia-smi

在这里插入图片描述

  • 输入nvidia-settings,如果如下图显示,说明安装成功

在这里插入图片描述

3.CUDA11.1安装

  • 在NVIDIA开发者官网下载CUDA,选择自己对应的系统和安装方式,下方会出现对应的安装指令,推荐使用runfile方式安装,如果想安装之前的版本,可以到这里下载

在这里插入图片描述

在这里插入图片描述

  • 下载cuda(如果是比较早的版本,需要把安装文件和所有补丁文件都下载,然后运行)

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run

  • 下载完成后,进行安装

sudo sh cuda_11.1.0_455.23.05_linux.run

  • 输入accept

在这里插入图片描述

  • 因为之前已经安装好了显卡驱动,安装CUDA时不需要选择显卡驱动,按回车即可取消前面的X,Install

在这里插入图片描述

  • 最后会提示安装未完成,是因为我们没有选择显卡驱动,不用管,只要显示下面的内容就是安装成功

在这里插入图片描述

  • 添加环境变量,打开profile文件

sudo gedit /etc/profile

  • 在末尾处添加以下内容(注意不要有空格,不然会报错)

export PATH=/usr/local/cuda-11.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64$LD_LIBRARY_PATH

  • 重启电脑

sudo reboot

  • 测试CUDA是否安装成功,按以下指令编译、运行,如果显示有关GPU的信息,说明安装成功

cd /usr/local/cuda-11.1/samples/1_Utilities/deviceQuery
sudo make
/deviceQuery

在这里插入图片描述

  • 也可以输入nvcc -V查看CUDA版本

nvcc -V

在这里插入图片描述

4.CUDNN8.0.4安装

  • 到官网下载与CUDA11.1对应的CUDNN版本,下载CUDNN需要注册NVIDIA开发者账号
    注:建议高版本的cudnn下载deb安装包进行安装,直接安装即可,不需要复制文件

在这里插入图片描述

  • 登录–>同意

在这里插入图片描述

  • 下载cuDNN8.0.4
    • cuDNN Runtime Library for Ubuntu18.04 x86_64

    • cuDNN Developer Library for Ubuntu18.04 x86_64

    • cuDNN Code Samples and User Guide for Ubuntu18.04 x86_64

在这里插入图片描述

  • 下载完成按以下顺序分别安装三个安装包
  • 注:这里一定要按顺序安装

sudo dpkg -i libcudnn8_8.0.4.30-1+cuda11.1_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.4.30-1+cuda11.1_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.4.30-1+cuda11.1_amd64.deb

  • CUDNN安装完成
    在这里插入图片描述

5.OpenCV4.4.0编译

opencv安装过程中会有很多文件不能下载导致安装失败,如果有需要到文末百度云下载。

5.1 安装依赖包

sudo apt-get update -y # Update the list of packages
sudo apt-get remove -y x264 libx264-dev # Remove the older version of libx264-dev and x264
sudo apt-get install -y build-essential checkinstall cmake pkg-config yasm
sudo apt-get install -y git gfortran
sudo add-apt-repository -y “deb http://security.ubuntu.com/ubuntu xenial-security main”
sudo apt-get update
sudo apt-get install -y libjpeg8-dev libjasper-dev libpng12-dev
sudo apt-get install -y libtiff-dev
sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
sudo apt-get install -y libxine2-dev libv4l-dev
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y qt5-default libgtk2.0-dev libtbb-dev
sudo apt-get install -y libatlas-base-dev
sudo apt-get install -y libfaac-dev libmp3lame-dev libtheora-dev
sudo apt-get install -y libvorbis-dev libxvidcore-dev
sudo apt-get install -y libopencore-amrnb-dev libopencore-amrwb-dev
sudo apt-get install -y x264 v4l-utils

安装以上依赖我并没有出错,如果出现错误提示,这里列出几个错误及解决方案,具体参考这篇博客

  • 错误一:

E: Unable to locate package libjasper-dev

  • 解决方法:

sudo add-apt-repository “deb http://security.ubuntu.com/ubuntu xenial-security main”
sudo apt-get update
sudo apt-get install libjasper-dev

  • 错误二:

E: Unable to locate package libgstreamer0.10-dev\

  • 解决方法:

sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

5.2 下载opencv-4.4.0和opencv_contrib-4.4.0

OpenCV 4.4.0:

https://github.com/opencv/opencv/tags

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

OpenCV contrib 4.4.0

https://github.com/opencv/opencv_contrib/tags

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 下载完成后在主目录下新建software目录

cd ~
mkdir software

  • 解压opencv到software

cd Download
tar -zxvf opencv-4.4.0.tar.gz -C /home/username/software
tar -zxvf opencv_contrib-4.4.0.tar.gz -C /home/username/software/opencv4.4.0

5.3 安装OpenCV

5.3.1 Configure

  • 安装cmake-gui

sudo apt-get install cmake-gui

  • 进入software/opencv-4.4.0目录,新建build目录,进入build目录并运行cmake-gui

cd /home/username/software/opencv-4.4.0
mkdir build
cd build
cmake-gui …
注意:cmake-gui后面的两个点不能丢

  • 弹出的CMake图形化界面,确认上面的两个路径

/home/username/software/opencv-4.4.0
/home/username/software/opencv-4.4.0/build

在这里插入图片描述

  • 点击Configure–>选择Unix Makefiles–>Finish

在这里插入图片描述

  • configure过程会下载一些文件,一般因为网络问题会出现下面的错误

在这里插入图片描述

  • 这是因为下载ippicv_2020_lnx_intel64_20191018_general.tgz这个文件时出错,需要手动从github下载该文件,下载链接如下

https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20191018/ippicv
注:其他opencv版本如果不知道对应的文件,可以先Configure一次,完成后查看红色信息会找到对应的版本,从官网下载对应的文件即可,可以参考这篇博客

  • 将下载好的文件放在/home/username/software/opencv-4.4.0/3rdparty/ippicv目录下,并且打开该目录下的ippicv.cmake文件,将第42行的网址注释掉,改为

“file:/home/username/software/opencv-4.4.0/3rdparty/ippicv/”

  • 保存后退出

在这里插入图片描述

  • 重新Configure,没有红色错误,成功

在这里插入图片描述

5.3.2 Generate

  • Configure完成后,对4个地方进行修改:

    • CMAKE_BUILD_TYPE处选择Release,如果没有选项手动输入即可;下方的CMAKE_INSTALL_PREFIX保持默认路径/usr/local
      在这里插入图片描述

    • OPENCV_EXTRA_MODULES_PATH处选择/home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/下的modules目录

    • OPENCV_GENERATE_PKGCONFIG选项打勾,这一项是用来生成opencv.pc文件,很重要
      在这里插入图片描述

    • BUILD_opencv_world选项打勾,默认是不勾选的,勾选后最后只会产生一个库文件
      在这里插入图片描述

  • 直接Generate通常会失败,同样是因为下载文件出错

在这里插入图片描述

  • 所以我们提前下载好,下载失败的文件有:

boostdesc_lbgm.i
boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_48.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_120.i
face_landmark_model.dat

  • 前面11个文件对应opencv_contrib-4.4.0目录下的/modules/xfeatures2d/中的文件,最后一个文件face_landmark_model.dat对应的是opencv_contrib-4.4.0目录下的/modules/face/中的文件
  • 前7个文件的下载链接:

https://github.com/opencv/opencv_3rdparty/tree/contrib_xfeatures2d_boostdesc_20161012

  • 第8个到第11个文件的下载链接:

https://github.com/opencv/opencv_3rdparty/tree/contrib_xfeatures2d_vgg_20160317

  • 11个文件下载完成后全部复制到/home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/src目录下,然后进入home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/cmake目录中
  • 打开download_boostdesc. cmake文件,把第27行的网址注释掉,改为

“file:/home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/src/”

在这里插入图片描述

  • 同样的,打开download_vgg.cmake文件,把第21行的网址注释掉,改为

“file:/home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/src/”

在这里插入图片描述

  • 最后一个文件face_landmark_model.dat的下载链接是:

https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
这个链接不太好用,直接上网盘下载

  • 下载后放入home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/face目录下,打开该目录下的CMakeLists.txt文件,把第19行的网址注释掉,改为

“file:/home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/face/”

在这里插入图片描述

  • 重新Generate,出现Configuring done和Generating done后,确认没有红色报错

在这里插入图片描述

5.3.3 带CUDA编译

  • 在搜索框中输入cuda,出现的所有选项都打勾

在这里插入图片描述

  • 搜索test,出现的所有选项都取消勾选

在这里插入图片描述

  • 选项ENABLE_FAST_MATH上打勾

在这里插入图片描述

  • 再次点击Configure,出现Configuring done后,确认没有红色错误,确认找到CUDA和cuDNN

在这里插入图片描述

  • 这时会出现一些新的选项,首先在CUDA_FAST_MATH选项后打勾

在这里插入图片描述

  • 搜索cuda,确认所有选项都打勾

在这里插入图片描述

  • 再次Generate,出现Configuring Done和Generating Done后,确认没有报错,确认找到CUDA和cuDNN,退出cmake-gui。

在这里插入图片描述

5.3.4 make

  • 打开终端,进入build目录

cd /home/username/software/opencv-4.4.0/build
make
注:这里可以多线程编译,不过直接make出问题的概率小一点
多线程:
(1)查看CPU核心数:nproc
(2)make -j16

  • 等待一段时间,100%完成即可

在这里插入图片描述

  • 执行:

sudo make install

再次出现100%,就成功了。

在这里插入图片描述
在这里插入图片描述

5.3.5 配置环境变量

  • 打开opencv.conf文件,在文件尾末添加/usr/local/lib

sudo gedit /etc/ld.so.conf.d/opencv.conf

  • 配置库:

sudo ldconfig

  • 添加环境变量,打开bash.bashrc文件

sudo gedit /etc/bash.bashrc

  • 在文件尾末添加以下内容

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

保存后退出,source一下

source /etc/bash.bashrc

到此,带有CUDA的OpenCV4.4.0就安装完成了,可以用以下命令查看opencv的版本:

pkg-config --modversion opencv

接下来我们测试一下opencv。

6.OpenCV测试程序

  • 在主目录下新建Projects目录,用于存放工程代码,新建opencv_test工程目录,在工程目录下创建main.cpp源文件和CMakeLists.tst文件

cd ~
mkdir Projects/opencv_test -p
cd Projects/opencv_test
touch main.cpp CMakeLists.txt

  • 在CMakeLists.tst中添加如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cmake_minimum_required(VERSION 2.8)
project(opencv_test)

set(CMAKE_CXX_STANDARD 14)

find_package(OpenCV)
include_directories(${OpenCV_INCLUDE_DIRS})

message(STATUS "OpenCV library status:")
message(STATUS "    config: ${OpenCV_DIR}")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

add_executable(opencv_test main.cpp)
target_link_libraries(opencv_test ${OpenCV_LIBS})
  • 在main.cpp中添加如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <opencv2/opencv.hpp>

int main(int argc, char** argv) {<!-- -->
    cv::Mat src = cv::imread("../1.jpeg");
    if (src.empty()) {<!-- -->
        std::cout << "could not load image..." << std::endl;
        return -1;
    }
    cv::namedWindow("input image", cv::WINDOW_AUTOSIZE);
    cv::imshow("input image", src);

    cv::waitKey(0);
    return 0;
}
  • 准备一张小猫咪的图片放在opencv_test目录下,目录结构如下图

—opencv_test
?|__ build
?|__ 1.jpeg
?|__ CMakeLists.txt
?|__ main.cpp

  • 编译、运行代码:

mkdir build
cd build
cmake …
make
./opencv_test

运行结果如下:
在这里插入图片描述

7.YOLO v3测试

下载darknet:github链接

git clone https://github.com/AlexeyAB/darknet

下载权重文件(YOLO权重文件下载很慢,已经下好放在百度云,有需要到文末下载):

wget https://pjreddie.com/media/files/yolov3.weights

修改Makefile文件:

GPU=1
CUDNN=1
CUDNN_HALF=1
OPENCV=1

将ARCH后面的-gencode arch=compute_30,code=sm_30删掉

ARCH= -gencode arch=compute_35,code=sm_35
????-gencode arch=compute_50,code=[sm_50,compute_50] /
????-gencode arch=compute_52,code=[sm_52,compute_52] /
????-gencode arch=compute_61,code=[sm_61,compute_61]

运行YOLO v3:

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

检测结果如下:
在这里插入图片描述在这里插入图片描述注1:如果遇到类似"error: ‘IplImage’ does not name a type"和"error: ‘CV_CAP_PROP_FRAME_WIDTH’ was not declared in this scope"的错误,可以参考这篇博客

注2:如果使用官网的darknet,可能会出现"error:‘CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT’ undeclared(first use in this function);did you mean ‘CUDNN_CONVOLUTION_FWD_ALGO_DIRECT’"这样的错误,这是因为CUDNN版本的问题,可以参考这篇博客,用本文给出的darknet链接应该不会报这个错

注3:“error: conversion from ‘cv::Mat’ to non-scalar type ‘IplImage’ {aka ‘_IplImage’} requested”,参考这篇博客

参考

  1. Linux(Ubuntu)系统查看显卡型号
  2. 安装ubuntu18.04分区设置
  3. Ubuntu安装 Realtek R8125 驱动
  4. Ubuntu18.04安装fcitx输入法
  5. Ubuntu18.04安装NVIDIA显卡驱动
  6. Ubuntu16.04下安装NVIDIA显卡驱动
  7. Ubuntu 18.04配置OpenCV 4.2.0
  8. ubuntu安装opencv无法下载IPPICV的问题 ippicv_2020_lnx_intel64_20191018_general.tgz
  9. 百度云链接: https://pan.baidu.com/s/1mUNoZeuPXOt-BihZb_LrVw
    密码: 5hqk