ubuntu18.04安装opencv+CUDA10.2+cuDNN+YOLOv3
安装顺序:
- 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的更多相关文章
- ubuntu18.04安装opencv 3.4.1
		
github 地址: https://github.com/opencv/opencv 安装依赖 sudo apt-get install build-essential sudo apt--dev ...
 - Ubuntu18.04 安装 OpenCV 4.1.1
		
1. 安装依赖包 sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-confi ...
 - Ubuntu18.04安装RTX2080Ti+NVIDIA驱动+CUDA
		
Ubuntu18.04安装RTX 2080Ti 与 Cuda10 ==========血泪更新========= 如果可以使用ppa安装最方便了 具体参考:https://www.cnblogs.co ...
 - # Ubuntu16.04安装nvidia驱动+CUDA+cuDNN
		
Ubuntu16.04安装nvidia驱动+CUDA+cuDNN 准备工作 1.查看GPU是否支持CUDA lspci | grep -i nvidia 2.查看Linux版本 uname -m &a ...
 - Ubuntu18.04安装OpenCV4.1.0
		
Ubuntu18.04安装OpenCV4.1.0 1.首先要安装依赖 sudo apt-get install build-essential \ cmake git libgtk2.0-dev pk ...
 - Ubuntu16.04安装opencv for python/c++
		
Ubuntu16.04安装opencv for python/c++ 网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一 ...
 - ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA
		
ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA 显卡驱动装好了,如图: 英文原文链接: https://github.com/williamFa ...
 - Ubuntu18.04安装mysql5.7
		
Ubuntu18.04安装mysql5.7 1.1安装 首先执行下面三条命令: # 安装mysql服务 sudo apt-get install mysql-server # 安装客户端 sudo a ...
 - Ubuntu18.04安装RabbitMQ
		
Ubuntu18.04安装RabbitMQ 2018年06月10日 19:32:38 dmfrm 阅读数:2492 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...
 
随机推荐
- Github中添加SSH key
			
1-创建密钥,在终端输入下面的命令 ssh-keygen -t rsa -b -C "你的邮箱" //双引号不能去 要求输入密码,建议回车使用空密码方便以后的每次连接,此时会生成一 ...
 - 重学 Java 设计模式:实战观察者模式「模拟类似小客车指标摇号过程,监听消息通知用户中签场景」
			
作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 知道的越多不知道的就越多 编程开发这条路上的知识是无穷无尽的, ...
 - java重试
			
项目中有很多需要重试的场景,而每次都得写如下的逻辑 for (int i=0;i++;i<retry){ try{ do(//逻辑代码); if(success){ break; } }catc ...
 - Python线程池与进程池
			
Python线程池与进程池 前言 前面我们已经将线程并发编程与进程并行编程全部摸了个透,其实我第一次学习他们的时候感觉非常困难甚至是吃力.因为概念实在是太多了,各种锁,数据共享同步,各种方法等等让人十 ...
 - 每日一题 - 剑指 Offer 54. 二叉搜索树的第k大节点
			
题目信息 时间: 2019-07-04 题目链接:Leetcode tag:二叉搜索树 中序遍历 递归 难易程度:中等 题目描述: 给定一棵二叉搜索树,请找出其中第k大的节点. 示例1: 输入: ro ...
 - (一)ELK 部署
			
官网地址:https://www.elastic.co/cn/ ELK是Elasticsearch.Logstash.Kibana的简称,这三者是核心套件,但并非全部. Elasticsearch ...
 - P2882 Face The Right Way G 题解
			
题目 Farmer John has arranged his N \((1 ≤ N ≤ 5,000)\) cows in a row and many of them are facing forw ...
 - CF833 A The Meaningless Game
			
题干 Slastyona and her loyal dog Pushok are playing a meaningless game that is indeed very interesting ...
 - Let's GO(一)
			
近来开始学Go,留此博客以记录学习过程,顺便鞭策自己更加努力. 人生苦短,Let's GO! Let's GO(一) Let's GO(二) Let's GO(三) Let's GO(四) 简单介绍 ...
 - ArrayList源码分析-jdk11 (18.9)
			
目录 1.概述 2.源码分析 2.1参数 2.2 构造方法 2.2.1 无参构造方法 2.2.2 构造空的具有特定初始容量值方法 2.2.3构造一个包含指定集合元素的列表,按照集合的迭代器返回它们的顺 ...