深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0

Posted pprp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0相关的知识,希望对你有一定的参考价值。

深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0

Reference


https://zhuanlan.zhihu.com/p/31430631?utm_source=com.tencent.tim&utm_medium=social&utm_oi=1002237860644270080

硬件说明:


显卡:gtx-1080,8G显存

NVIDIA Corporation Device 1b80

软件准备:


深度学习环境必须适配,不能版本之间必须匹配,这些库之间有依赖关系。

我的环境用的是:

  1. ubuntu 16.04
  2. Python3.5 # tensorflow无法完全支持3.6版本的,3.5比较稳定
  3. Cuda8.0 # 目前Ubuntu16.04对cuda8.0的版本支持较好,同时Tensorflow对cuda9.0不太友好,因此我们选择Cuda8.0
  4. Cudnn6.0
  5. Tensorflow1.4.0

1. 安装Ubuntu16.04

从Ubuntu官网下载镜像,并用U盘安装。

安装完成之后更新系统。

sudo apt-get update 
sudo apt-get upgrade

2. 安装显卡驱动

可以参考https://www.cnblogs.com/pprp/p/9430836.html

亲测可用,但是需要注意需要去英伟达官网下载适合自己电脑的版本(nvidia网页可以自己测出你的电脑所需要的型号),具体安装过程参考以上博客。

重启电脑,通过nvidia-smi命令查看驱动信息,如果成功显示,那么驱动安装成功

3.安装Cuda8.0

从NVIDIA官网https://developer.nvidia.com/cuda-release-candidate-download下载适合的CUDA版本,目前官网最新的版本是9.0,但是我非常不建议大家使用最新版本。

img

我们选择linux平台,下载runfile。执行;

sudo ./cuda_8.0.61_375.26_linux.run

我们已经安装好了384,这一步选择n,剩下的一路yes就行。

最后需要配置环境变量,让我们安装的CUDA生效。

(1)打开sudo gedit ~/.bashrc,在最后面添加两行如下:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

(2)设置环境变量和动态链接库,打开sudo gedit /etc/profile,在文件末尾加入:

export PATH=/usr/local/cuda/bin:$PATH

(3)创建链接文件,打开sudo gedit /etc/ld.so.conf.d/cuda.conf,在文件中添加:

/usr/local/cuda/lib64

最后执行 sudo ldconfig,使上述设置立即生效。

测试CUDA:

执行以下命令:

cd ~/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery

make

./deviceQuery

可以看到详细信息,最后结果是Pass,则CUDA安装成功,否则就是哪里有问题(利用Google和百度解决)。

4. 安装Cudnn6.0

在NIVIDA开发者官网上,找到cudnn的下载页面: https://developer.nvidia.com/rdp/cudnn-download ,选择"Download cuDNN v6.0 (April 27, 2017), for CUDA 8.0" 中的 "cuDNN v6.0 Library for Linux":

img

下载后安装非常简单,就是解压然后拷贝到相应的系统CUDA路径下:

tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz
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.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

or

sudo tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local

5. 清华源安装Anaconda

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

将一下源加入,可以加速

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

建议选择Anaconda3-4.2.0-Linux-x86_64.sh(版本4.2)进行安装,因为支持python3.5,通过命令chmod +x Anaconda3-4.2.0-Linux-x86_64.sh & ./Anaconda3-4.2.0-Linux-x86_64.sh就可以进行安装,安装过程按照提示来就可以,比较简单。

6. 安装tensorflow

参考官网:https://www.tensorflow.org/install/install_linux?hl=zh-cn#InstallingAnaconda

首先创建一个anaconda虚拟环境:

conda create -n tensorflow python=3.5

通过发出以下命令激活 conda 环境:

source activate tensorflow

发出以下格式的命令以在 conda 环境中安装 TensorFlow:

pip install --ignore-installed --upgrade tensorflow-gpu==1.4.0

7. 验证您的安装

运行一个简短的 TensorFlow 程序

从 shell 中调用 Python,如下所示:

$ python

在 Python 交互式 shell 中输入以下几行简短的程序代码:

# Python
import tensorflow as tf
hello = tf.constant(\'Hello, TensorFlow!\')
sess = tf.Session()
print(sess.run(hello))

如果系统输出以下内容,说明您可以开始编写 TensorFlow 程序了:

Hello, TensorFlow!

如果系统输出一条错误消息而不是问候语,请参阅常见的安装问题

8. 卸载cudnn5.1升级为cudnn6.0

1、解压出一个名为cuda的文件夹,文件夹中有include和lib64两个文件夹
2、删除原来的cudnn

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*12

3、安装安装需要版本的cudnn,在终端cd到刚解压的cuda文件夹

sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/12

4、cd到/usr/local/cuda/lib64/文件夹下,建立软链接(注意版本号换成你自己的)

sudo chmod +r libcudnn.so.5.0.5  
sudo ln -sf libcudnn.so.5.0.5 libcudnn.so.5  
sudo ln -sf libcudnn.so.5 libcudnn.so  
sudo ldconfig  1234

5、检测

cd /usr/local/cuda/lib64/
ll12

cudnn版本更新完毕

以上是关于深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0的主要内容,如果未能解决你的问题,请参考以下文章

李沐《动手学深度学习》第二版 pytorch笔记1 环境搭建

搭建深度学习环境(Pytorch)

搭建深度学习环境(Pytorch)

深度学习环境搭+pycahrm搭建pytorch

Linux 搭建深度学习环境教程

从零开始搭建深度学习环境