Ubuntu 16.04搭建深度学习环境
前言
Linux服务器上的环境没有共用,要在自己文件夹搭建所需要的环境。要安装的有:Anaconda3、TensorFlow、Pytorch,这几个都是直接或间接的有版本对应关系。顺便记录一下安装过程,本来搭环境就很烦,以后在新机器搭环境就不用东找西找。
版本对应关系
由于要在服务器上跑bert,源码是tensorflow 1.x版本的,bert配置要求:
CPU版本:tensorflow >= 1.11.0
GPU版本:tensorflow-gpu >= 1.11.0
至于安装哪个版本的tensorflow-gpu和pytorch,需要看CUDA版本,查看CUDA版本有多种方式:
nvidia-smi
nvcc -V
后面根据运行版本来选择对应tensorflow和pytorch版本,即用以下命令查看CUDA版本
nvcc -V
除了CUDA版本,还有cuDNN版本,查看cuDNN版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
查到的cuDNN版本为7
Linux系统的tensorflow-gpu、CUDA和cuDNN版本对应关系如下
根据CUDA和cuDNN版本可以确定tensorflow-gpu 1.11.0 和1.12.0版本是可用的,因此需要搭建环境如下
上面的Anaconda3-5.0.0对应python版本为3.6.2,按表中顺序来安装。
Anaconda3下载与安装
1 下载
Anaconda和python版本是对应的(后面也可以自己创建其他版本的环境),我这边要跑BERT,要求tensorflow-gpu>=1.11.0,对应python版本为3.3-3.6。
现在由于上传/下载文件比较麻烦,直接用wget来下载Anaconda,不带参数是默认下载到当前文件夹的,下载到指定文件夹用-P。
wget https://repo.anaconda.com/archive/Anaconda3-5.0.0-Linux-x86_64.sh
到此为止已经下载好了。
2 安装
进入刚下好的Anaconda3-5.0.0-Linux-x86_64.sh所在目录,输入
bash Anaconda3-5.0.0-Linux-x86_64.sh
回车后出现以下界面,下面有个--More--,一直回车就可以,直到最后显示完协议出现下面提示,是否同意许可。
输入yes,回车。
继续回车,使用默认安装目录,开始安装。
安装完之后提示是否把Anaconda的bin目录添加到用户环境变量中,输入yes,回车。这样就安装完了,接下来检查是否安装成功,输入
conda --version
显示出conda的版本信息,说明环境变量已经配置好了。
PS:如果提示 conda: command not found,先尝试重新打开powershell再输入conda --version,还是不行的话就vi ~/.bashrc,在最后面自己添加bin的目录。
查看python的安装路径,输入
which python
Anaconda3安装完毕。
tensorflow下载与安装
1 下载
跟Anaconda一样用wget下载,输入
wget https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/25/52/01438b81806765936eee690709edc2a975472c4e9d8d465a01840869c691/tensorflow_gpu-1.11.0-cp36-cp36m-manylinux1_x86_64.whl#sha256=6a8cd775cc7dad465e3b73da0574f20d3ea345ac3586217296c7de50ecc097fb
2 安装
进入tensorflow-gpu 1.11.0 wheel文件所在目录,用pip安装wheel文件。
pip install tensorflow_gpu-1.11.0-cp36-cp36m-manylinux1_x86_64.whl
安装过程发生错误:Failed building wheel for grpcio
解决办法:自行安装grpcio,直接输入
pip install grpcio==1.9.1
安装完成,继续安装tensorflow
pip install tensorflow_gpu-1.11.0-cp36-cp36m-manylinux1_x86_64.whl
没有报错了,安装完成,接下来验证是否安装成功。
进入python
python
首先检查tensorflow是否可以导入
import tensorflow as tf
tf.__version__ # 查看tensorflow版本
输出的tensorflow版本为:'1.11.0'
然后检查GPU是否可用,输入
print(tf.test.is_gpu_available())
结果为True说明GPU可用,然后检查CUDA是否可用,输入
print(tf.test.is_built_with_cuda())
结果为True说明CUDA可用。
这就是tensorflow-gpu 1.11.0的安装过程。
pytorch下载与安装
1 下载
使用pytorch要同时安装torch和torchvision,两者版本是对应的。
下载torch 1.1.0
wget http://download.pytorch.org/whl/cu90/torch-1.1.0-cp36-cp36m-linux_x86_64.whl
下载torchvision 0.3.0
wget https://download.pytorch.org/whl/cu90/torchvision-0.3.0-cp36-cp36m-manylinux1_x86_64.whl
2 安装
进入torch 1.1.0 wheel文件所在目录,用pip安装wheel文件。
安装torch 1.1.0
pip install torch-1.1.0-cp36-cp36m-linux_x86_64.whl
安装torchvision 0.3.0
pip install torchvision-0.3.0-cp36-cp36m-manylinux1_x86_64.whl
接下来检查pytorch是否成功安装,进入python
python
检查是否可以导入torch和torchvision,以及GPU是否可用
import torch
import torchvision
torch.cuda.is_available() # 检查GPU是否可用
成功导入torch和torchvision,结果为True,GPU可用。
搞掂
在Ubuntu 16.04上搭建深度学习环境已经完成,总的来说还算比较顺利,接下来就可以愉快地建(diao)模(bao)了。