ubuntu16.04下的anaconda3+cuda8.0+cudnn5.1+opencv3.3的安装

由于项目需要tx2完成基于视觉的无人机定位,因此,先在笔记本上安装Ubuntu,并完成显卡驱动的安装。显卡是gtx860m的,然而ubuntu自带的显卡驱动和我的不相符,所以在安装显卡驱动前应该先将系统本身的显卡驱动列入黑名单。

参考教程:https://blog.csdn.net/u014595019/article/details/53732015?utm_source=itdadao&utm_medium=referral

1,NIVIDA显卡驱动安装

先禁用nouveau驱动:

先去 /etc/modprobe.d/blacklist.conf中
最后一行加上 blacklist nouveau,保存
然后 sudo update-initramfs -u
重启,输入lsmod | grep nouveau

如果没有输出,表明禁用成功

然后打开系统设置,选择软件更新,选择附加驱动,如图所示:


选择适合自己的驱动(我的gtx860m,选择的384就行),然后选择apply changes。

可以通过nvidia-smi命令看自己的驱动是不是装好了:


2.安装cuda8.0

扫描二维码关注公众号,回复: 2823346 查看本文章

安装CUDA

https://developer.nvidia.com/cuda-downloads,根据自己的系统下载对应安装包,下载的是runfile文件,而不是deb文件。下载好以后,运行

sudo ./cuda_8.0.44_linux.run --tmpdir=/tmp
  • 1

开始安装。后面参数 tmpdir好像是为了放日志,具体是什么日志忘了=。= 安装开始以后,首先是一个协议,一直按回车到底以后,输入accept。其他的操作如下所示

Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
(y)es/(n)o/(q)uit: n

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

下面是安装时的输出信息:

Installing the CUDA Toolkit in /usr/local/cuda-8.0 …
Installing the CUDA Samples in /home/textminer …
Copying samples to /home/textminer/NVIDIA_CUDA-8.0_Samples now…
Finished copying samples.

===========
= Summary =
===========

Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /home/textminer

Please make sure that
– PATH includes /usr/local/cuda-8.0/bin
– LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run -silent -driver

Logfile is /tmp/cuda_install_6583.log
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  • 1
  • 2
  • 3

保存退出,运行source ~/.bashrc 

测试是否安装成功

// 如果怕把samples搞坏了那就先搞一个备份,在备份里搞
cd /usr/local/cuda/samples/1_Utilities/deviceQuery 
sudo make
./deviceQuery

如图所示:

3、cuDNN安装

如果要使用gpu来对tensorflow进行加速,除了安装CUDA以外,cuDNN也是必须要安装的。跟cuda一样,去nvidia的官网下载cuDNN的安装包。不过这次没法直接下载,需要先注册,然后还要做个调查问卷什么的,稍微有点麻烦。我下的是cuDNN v5.1 Library for Linux这个版本。不要下cuDNN v5.1 Developer Library for Ubuntu16.04 Power8 (Deb)这个版本,因为是给powe8处理器用的,不是amd64.

下载下来以后,发现是一个tgz的压缩包,使用tar进行解压

tar -xvf cudnn-8.0-linux-x64-v5.1.tgz
  • 1

安装cuDNN比较简单,解压后把相应的文件拷贝到对应的CUDA目录下即可

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

4.安装opencv3.3

参考教程:https://blog.csdn.net/zhaoluruoyan89/article/details/79092252

1)按照官网安装Opencv步骤:

基本: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

 

2)利用终端进入opencv3文件夹,代码如下:

cd ~/opencv-3.3.0

3)新建build文件夹存放opencv的编译文件,进入build文件夹代码如下

mkdir build

cd build

4)配置opencv文件,代码如下:

[html]  view plain  copy
  1. cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="5.0" -D CUDA_ARCH_PTX="5.0" -D WITH_GSTREAMER=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TIFF=ON -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  

注意:如果编译的是cuda版本的opencv 最好在编译的时候 表明cuda的计算能力。

一般而言直接添加一下2个cmake编译选项即可解决
[html]  view plain  copy
  1.   
-D CUDA_ARCH_BIN="5.0" -D CUDA_ARCH_PTX="5.0"

#Note:5.0为GTX860m的计算能力,不同显卡需要根据自己的计算能力进行修改
#查询显卡计算能力,可以通过运行cuda samples中的deviceQuery得知。
#(文件夹NVIDIA_CUDA-*_Samples下编译示例, *为版本号
或者
但如果运气不佳,添加编译选项并不能解决问题。这时候我们需要修改opencv中关于CUDA计算能力这部分的配置文件./cmake/OpenCVDetectCUDA.cmake。在
set(CUDA_ARCH_BIN ${__cuda_arch_bin} CACHE STRING "Specify 'real' GPU architectures to build binaries for, BIN(PTX) format is supported")
set(CUDA_ARCH_PTX ${__cuda_arch_ptx} CACHE STRING "Specify 'virtual' PTX architectures to build PTX intermediate code for")

之前添加

set(__cuda_arch_bin "6.1")
set(__cuda_arch_ptx "6.1")
  • 1
  • 2
设置安装路径
  • 1
  • 2
-D CMAKE_INSTALL_PREFIX=/usr/local
  • 1
  • 编译CUDA版本
 
 
  • 1
  • 2
-D WITH_CUDA=ON

可以参考我的编译1:

[html]  view plain  copy
  1. cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="6.1" -D CUDA_ARCH_PTX="" -D WITH_OPENGL=ON -D WITH_LIBV4L=ON -D CMAKE_BUILD_TYPE=RELEASE -D WITH_GSTREAMER=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TIFF=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..  
我的编译2:
[html]  view plain  copy
  1. cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="6.1" -D CUDA_ARCH_PTX="6.1" -D WITH_GSTREAMER=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TIFF=ON -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  

我的编译3

[html]  view plain  copy
  1. cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="5.3" -D CUDA_ARCH_PTX="" -D WITH_GSTREAMER=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TIFF=ON -D CMAKE_BUILD_TYPE=RELEASE -D OPENCV_EXTRA_MODULES_PATH=/home/yll12/yl/opencv-3.3.1/opencv_contrib-3.3.1/modules -D CMAKE_INSTALL_PREFIX=/usr/local ..  

(5)进行编译,代码如下:make -j8

6)安装opencv库到系统,代码如下:sudo make install

# ls /usr/local/lib 查看已安装的opencv库

# sudo gedit /etc/ld.so.conf 为了方便后续代码的编写往该文件中添加一行: /usr/local/lib

# sudo ldconfig


猜你喜欢

转载自blog.csdn.net/hnlyzxy123/article/details/80191154