上篇文章提交后,好些人问我Linux下怎么安装,如何配置GPU等等。为了为接下来的系统调优系列文章做好铺垫,也有个共同的软件基础,这里介绍下Linux下安装方法。
Linux版本
选用Ubuntu 16.04.2 LTS。其提供了Desktop和server两种选择,我们为了统一起见选择Server:
当然你也可以选择Deskop版本
Tensorflow对内存比较敏感,我们至少需要16GB内存。所以请选用X64版本的Ubuntu。
Anaconda的安装
和上文一样,推荐安装Anaconda而不是自己安装Python,这样很多科学库都一并装好了,也解决了头疼的库之间互相依赖的问题。Pip同时也被安装完成,为tensorflow的安装打下基础。
进入Anaconda官网:
注意到现在下载版本是4.3.1,其带有的Python是3.6。如果我们安装这个版本,随后安装tensorflow就会因为Python版本太高而失败。我们应该选下面的”archive”链接,下载以前版本。推荐4.1.0,并根据你的windows版本选择合适的版本,32位的选择X86,64位的选择X86_64,正常安装即可。
依赖库的安装
这里假设你安装了Nvidia的显卡,请上其官网下载最新的Linux驱动。如果是CPU用户,请跳过本节。
1.安装cuda
选择合适的Linux版本和X86_64版本,下载。比较大,要1.4G。
2. 安装cudnn
Tensorflow安装
输入
Pip install tensorflow
即可开始安装CPU版本的tensorflow;如果要安装 GPU版本的则输入
Pip install tensorflow-gpu
还有一点是如果你在proxy后面,可以声明proxy
pip install tensorflow --proxy proxy:port
实验
建立test.py文件
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data',
one_hot=True)
print(mnist.train.images.shape,mnist.train.labels.shape)
print(mnist.test.images.shape,mnist.test.labels.shape)
print(mnist.validation.images.shape,mnist.validation.labels.shape)
运行(python test.py),如果你在proxy下,会有下载MNIST_data失败的提示。我们可以先输入
export http_proxy=proxy:port
export https_proxy=proxy:port
如果一切顺利就会显示
Extracting MNIST_data\train-images-idx3-ubyte.gz
Extracting MNIST_data\train-labels-idx1-ubyte.gz
Extracting MNIST_data\t10k-images-idx3-ubyte.gz
Extracting MNIST_data\t10k-labels-idx1-ubyte.gz
(55000, 784) (55000, 10)
(10000, 784) (10000, 10)
(5000, 784) (5000, 10)
后记
如何知道你的GPU有没有启用呢?我们后面会有详细系统调优的系列文章,包括选取三种不同的硬件:Skylake+16GB DDR4 Desktop,单路Xeon E3+GTX1080+16GB DDR4 Server和双路Xeon E7+GTX1080+32GB DDR4 server。比较他们运行MNIST,进行简单线性分类器和CNN神经网络的效能分析、理论和调优,敬请期待。这里先简单说明一下,如果我们运行一个session,CUDA会输出现在的硬件配置,如果你看到了下面这些,就说明你的GPU配置成功了:(如何建立session和运行会在后面文章中)
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.8095
pciBusID 0000:01:00.0
Total memory: 7.92GiB
Free memory: 7.81GiB