安装顺序:

  • Opencv
  • 显卡驱动
  • CUDA10.2
  • cuDnn
  • YOLOv3

1、Opencv3.2.0安装

搭建依赖环境

sudo apt-get install build-essential

安装依赖包

sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

安装可选包

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

下载Opencv3.2并安装

wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip
unzip opencv.zip

此时会生成一个opencv3.2.0文件夹

cd opencv-3.2.0

然后创建一个文件夹

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
make install

执行cmake时,如果卡在了Downloading ippicv_linux_20151201.tgz,可以下载linux_20151201.tgz,

下载地址:https://pan.baidu.com/s/170j3x9zjMyWA6H9k7icpXQ 提取码: wcg3

然后放在opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e目录下。

重新执行以下命令cmake命令:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DWITH_IPP=OFF ..

cmake通过后,再执行

make -j4
make install

设置路径

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

在文件中添加/usr/local/lib

保存后执行:

sudo ldconfig

配置环境变量

sudo vim /etc/bash.bashrc

文件末尾添加:

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

2、显卡驱动安装

禁用默认驱动

Ubuntu系统集成的显卡驱动程序是nouveau,它是第三方为NVIDIA开发的开源驱动,需要先将其屏蔽才能安装NVIDIA官方驱动。将驱动添加到黑名单blacklist.conf中,但是由于该文件的属性不允许修改,所以需要先修改文件属性。

查看属性

sudo ls -lh /etc/modprobe.d/blacklist.conf

修改属性

sudo chmod 666 /etc/modprobe.d/blacklist.conf

用vim打开

sudo vim /etc/modprobe.d/blacklist.conf

在该文件后添加以下几行:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

安装显卡驱动

执行命令:

ubuntu-drivers devices

从这里可以看到,系统推荐我安装435或440版本驱动,我选择安装440版本。

#删除其它驱动
sudo apt-get remove --purge nvidia*
#增加源
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

然后安装显卡驱动:

sudo apt-get install nvidia-driver-440

安装成功后重启电脑。

执行命令
nvidia-smi

如果出现如果显卡列表界面,这显卡驱动安装成功。

CUDA10.2安装

注意:安装低版本的CUDA,需要对GCC进行降级

进入:https://developer.nvidia.com/cuda-toolkit-archive

点击CUDA Toolkit10.2后,如图选择:

CUDA官网会给出下载和安装方法,根据官网提示,执行:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

设置环境变量

sudo vim ~/.bashrc
export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

使环境变量生效

source ~/.bashrc

执行:

nvcc -V

出现CUDA版本信息时,说明CUDA安装成功。

CUDNN安装

进入:https://developer.nvidia.com/rdp/cudnn-download

注册账号并登陆,选择“Download cuDNN v7.6.5 (November 18th, 2019), for CUDA 10.2”

然后下载“cuDNN Library for Linux”,下载完成后解压tgz文件,得到一个cuda文件夹:

tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz

然后复制文件:

sudo cp cuda/include/cudnn.h    /usr/local/cuda-10.2/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.2/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

验证安装结果:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

出现如图界面,说明CUDNN安装成功。

YOLOV3安装

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

vim编辑Makefile

vim Makefil

将GPU、CUDNN、OPENCV的值改为1,然后执行:

make

编译完成后,测试一下效果吧

参考网址:

  • https://blog.csdn.net/gzj_1101/article/details/78651650
  • https://blog.csdn.net/rgd888/article/details/91047780
  • https://blog.csdn.net/xiaokan_001/article/details/88126122
  • https://blog.csdn.net/debjiu/article/details/80824439
  • https://blog.csdn.net/phinoo/article/details/82999337

ubuntu18.04安装opencv+CUDA10.2+cuDNN+YOLOv3的更多相关文章

  1. ubuntu18.04安装opencv 3.4.1

    github 地址: https://github.com/opencv/opencv 安装依赖 sudo apt-get install build-essential sudo apt--dev ...

  2. Ubuntu18.04 安装 OpenCV 4.1.1

    1. 安装依赖包 sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-confi ...

  3. Ubuntu18.04安装RTX2080Ti+NVIDIA驱动+CUDA

    Ubuntu18.04安装RTX 2080Ti 与 Cuda10 ==========血泪更新========= 如果可以使用ppa安装最方便了 具体参考:https://www.cnblogs.co ...

  4. # Ubuntu16.04安装nvidia驱动+CUDA+cuDNN

    Ubuntu16.04安装nvidia驱动+CUDA+cuDNN 准备工作 1.查看GPU是否支持CUDA lspci | grep -i nvidia 2.查看Linux版本 uname -m &a ...

  5. Ubuntu18.04安装OpenCV4.1.0

    Ubuntu18.04安装OpenCV4.1.0 1.首先要安装依赖 sudo apt-get install build-essential \ cmake git libgtk2.0-dev pk ...

  6. Ubuntu16.04安装opencv for python/c++

    Ubuntu16.04安装opencv for python/c++ 网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一 ...

  7. ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA

    ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA 显卡驱动装好了,如图: 英文原文链接: https://github.com/williamFa ...

  8. Ubuntu18.04安装mysql5.7

    Ubuntu18.04安装mysql5.7 1.1安装 首先执行下面三条命令: # 安装mysql服务 sudo apt-get install mysql-server # 安装客户端 sudo a ...

  9. Ubuntu18.04安装RabbitMQ

    Ubuntu18.04安装RabbitMQ 2018年06月10日 19:32:38 dmfrm 阅读数:2492    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...

随机推荐

  1. java中执行cmd命令

    一.java执行cmd命令的三种方式:http://www.jb51.net/article/80829.htm 参考:https://www.cnblogs.com/zhufu9426/p/7928 ...

  2. 每天一个Linux命令(mkdir)

    每天一个Linux命令(mkdir) mkdir: /bin/mkdir,创建目录( make directories)语法:mkdir [选项]... 不存在的目录...目录:默认时必须该目录不存在 ...

  3. i++ & ++i不看字节码是真的难懂

    package club.interview.base; /** * ++i 先"++"后赋值 * i++ 先赋值后"++" * i++ 局部变量表的值会改变, ...

  4. 数据库基础01-SQL基础语法

    数据库查询语言(Structured Query Language) 数据库查询语言: DDL(data definition language) -数据定义语言,建库建表 DML (data man ...

  5. 使用@AutoConfigureBefore、After、Order调整Spring Boot自动配置顺序

    前言 Spring Boot是Spring家族具有划时代意义的一款产品,它发展自Spring Framework却又高于它,这种高于主要表现在其最重要的三大特性,而相较于这三大特性中更为重要的便是Sp ...

  6. day53 html收尾

    目录 一.解决浮动带来的影响 二.溢出属性 三.定位 四.验证浮动和定位是否脱离文档流 五.z-index模态框 六.透明度opacity 七.js简介 一.解决浮动带来的影响 块级标签内的浮动如果该 ...

  7. 关于flask(前后端分离)的后端开发的小白笔记整理(含postman,jwt,json,SQLAlchemy等)

    首先是提醒自己的一些唠嗑: 学会劳逸结合,文档看累了可以看视频,动手操作很关键,遇到问题先动脑子冷静地想,不要跟着步骤都不带脑子,想不出来了再查一查!有时候打出来的代码很虚,但是实践不花钱,实践出真知 ...

  8. java 面向对象(六):类结构 方法(三) java的值传递机制

    java的值传递机制 1.针对于方法内变量的赋值举例: System.out.println("***********基本数据类型:****************"); int ...

  9. 机器学习实战基础(九):sklearn中的数据预处理和特征工程(二) 数据预处理 Preprocessing & Impute 之 数据无量纲化

    1 数据无量纲化 在机器学习算法实践中,我们往往有着将不同规格的数据转换到同一规格,或不同分布的数据转换到某个特定分布的需求,这种需求统称为将数据“无量纲化”.譬如梯度和矩阵为核心的算法中,譬如逻辑回 ...

  10. wiremock技术入门

    mock用于制作测试桩,是非常好用的自动化测试mock工具  一.下载 进入官网的下载地址: http://wiremock.org/docs/running-standalone/