Ubuntu16.04 + cuda9.0 + cudnn_v7 + tensorflow-gpu + opencv3.4.2
版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/qq_26239525/article/details/82714116
先参考博客 ,配置基本的ubuntu环境:
ubuntu 16.04 系统安装、环境配置:https://blog.csdn.net/qq_26239525/article/details/82316493
系统环境:
Ubuntu系统:16.04
NVIDIA显卡:GeForce GTX TITAN X
安装过程:
1.安装依赖项
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2.安装显卡驱动
打开系统设置->软件和更新->附加驱动:
选择第一个nvidia-384驱动,应用更改,安装完成之后,在终端输入:
nvidia-smi # 查看GPU和驱动程序信息,若显示GPU信息,则表示驱动安装成功
3.安装cuda9.0
cuda9.0下载地址:https://developer.nvidia.com/cuda-90-download-archive
按以上五个选项选择,然后将此文件下载下来。
终端输入:
sudo sh cuda_9.0.176_384.81_linux.run
安装过程中会执行一些确认信息,其中有一个更新驱动的选项,这个选择否。因为前边驱动我们已经正确安装。
等待安装完成,
配置环境变量:
sudo gedit ~/.bashrc
将以下内容写入到~/.bashrc尾部:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
在终端执行命令
source ~/.bashrc
让配置立即生效
测试CUDA的sammples:
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery #由自己电脑目录决定
sudo make
sudo ./deviceQuery
4.安装cudnn
https://developer.nvidia.com/rdp/cudnn-archive 下载cudnn(需要注册账号登录):
下载好cudnn-9.0-linux-x64-v7.tgz之后:
cd ~/下载
tar zxvf cudnn-9.0-linux-x64-v7.tgz
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
再将cd进入lib64目录下的动态文件进行复制和链接:
cd cuda/lib64/
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有动态文件
sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7 #生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接
安装完成。
5.安装anaconda + tensorflow-gpu
下载anaconda:https://www.anaconda.com/download/#linuxpython
终端输入:
bash Anaconda3-5.2.0-Linux-x86_64.sh
然后执行安装:
安装完成后,终端输入:
anaconda-navigator
打开anaconda
如果报错没有此命令,需要添加路径:
(https://docs.anaconda.com/anaconda/faq#distribution-faq-linux-path)
打开anaconda,创建环境tensorflow-gpu:
安装包tensorflow-gpu版本,右键可以选择更改版本,这里我选择的是1.5.0版本。
等待安装完成后,可以安装vscode和jupyter软件。
测试一下,在python环境中输入:
import numpy
import tensorflow as tf
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))
之后就会出现详细的信息:
Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: Tesla K40c, pci bus
id: 0000:05:00.0
b: /job:localhost/replica:0/task:0/device:GPU:0
a: /job:localhost/replica:0/task:0/device:GPU:0
MatMul: /job:localhost/replica:0/task:0/device:GPU:0
[[ 22. 28.]
[ 49. 64.]]
就能看到是GPU在工作还是CPU再工作了。
6.安装opencv3.4.2
参考博客:Ubuntu16.04 + 源码编译OpenCV3.4.2
本文内容所参考的一些博客: