Ubuntu下Anaconda配置python 3.6,tensorflow gpu环境

前言

之前配过Windows 10下的环境,写了一篇文章,Ubuntu下的稍有不同,主要就在于有时候你要重启一下,而且需要配置镜像,不然我pip install的速度慢得令人发指,版本的选择跟Windows 10是一样的。
我的环境:
Ubuntu 16.04
GeForce 1070
CUDA 9.0
主要就是这些,CUDA的版本方面我看别人有选9.2的,我是因为Windows 10上配置时只能用9.0,Ubuntu上我也用9.0了。

CUDA 9.0

首先去官网下,CUDA里面其实是有驱动的,9.0附带384,我为什么这么说呢,因为我在安装之前用的驱动是开源的某个NVIDIA版本,安装后变成专用的了。可以在软件和更新里查看
Ubuntu下Anaconda配置python 3.6,tensorflow gpu环境
下载CUDA
Ubuntu下Anaconda配置python 3.6,tensorflow gpu环境
直接选第一个。你看人家下面还有安装指南,太贴心了。
下载后进入目录打开终端,输入命令:

sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda

如果你在第二句没报错,那你很好,我报错了,其中一句是这样的

gpgkeys: protocol `https' not supported

解决办法是输入

sudo apt install gnupg-curl

然后最好重启,再将上面四条命令重新运行一遍。
除此之外,四条命令没有错误运行完后也要重启,因为你的驱动应该会被覆盖,重启使得驱动生效。
接下来设置环境变量

sudo gedit ~/.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}}

然后可以验证一下安装,运行下面四行命令:

cuda-install-samples-9.0.sh ~
cd ~/NVIDIA_CUDA-9.0_Samples/5_Simulations/nbody
make
./nbody

测试通过就OK。

https://developer.download.nvidia.com/compute/cuda/9.0/Prod/docs/sidebar/CUDA_Quick_Start_Guide.pdf

cuDNN

下载需要登录
Ubuntu下Anaconda配置python 3.6,tensorflow gpu环境
由于CUDA是9.0,所以选for 9.0那个,点击 for linux那个。
进入下载路径,解压,得到cuda文件夹:

tar -xzvf cudnn-9.0-linux-x64-v7.4.2.24.tgz

然后运行命令copy文件,更改权限

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 /usr/local/cuda/lib64/libcudnn*

然后就OK了

https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-linux

Anaconda

下载,速度会有点慢
我选择的是3.7那个版本,毕竟2.7终将被淘汰。
下载后得到.sh文件,直接

bash Anaconda3-2018.12-Linux-x86_64.sh

中途需要输入yes。然后就OK了。
想使用的话需要重开一个终端或者输入

source ~/.bashrc

创建tensorflow-gpu环境

首先最好配置一下pip install的镜像,不然之后下东西会很慢
修改 ~/.pip/pip.conf (没有就创建一个)

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

还可以配置一下anaconda的镜像:

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

然后创建环境,输入

conda create -n tensorflow-gpu python=3.6

进入环境

conda activate tensorflow-gpu

下载tensorflow-gpu

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

然后进入Python测试环境是否配置成功:

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

我的运行结果如图:
Ubuntu下Anaconda配置python 3.6,tensorflow gpu环境