深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0
Reference
硬件说明:
显卡:gtx-1080,8G显存
NVIDIA Corporation Device 1b80
软件准备:
深度学习环境必须适配,不能版本之间必须匹配,这些库之间有依赖关系。
我的环境用的是:
- ubuntu 16.04
- Python3.5 # tensorflow无法完全支持3.6版本的,3.5比较稳定
- Cuda8.0 # 目前Ubuntu16.04对cuda8.0的版本支持较好,同时Tensorflow对cuda9.0不太友好,因此我们选择Cuda8.0
- Cudnn6.0
- 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,但是我非常不建议大家使用最新版本。
我们选择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":
下载后安装非常简单,就是解压然后拷贝到相应的系统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版本更新完毕