Tensorflow编译源码安装
目录
- 硬软件环境说明
- 依赖包下载
- bazel下载
- Tensorflow源码下载
- 源码编译
- 安装
硬软件环境说明
本次搭建深度学习环境的硬件配置如下:
硬件 | 配置 |
---|---|
处理器 | Intel Xeon(R)CPU E5-2640 v4@ 2.40GHz x 20 |
内存 | 64G |
硬盘 | 1.3TB |
图形卡 | GeForce GTX 1080Ti/PCle/SSE2 |
本次搭建深度学习环境的软件如下:
软件 | 配置 |
---|---|
操作系统 | Ubuntu 16.04 64-bit |
NVIDIA驱动 | nvidia384 |
cuda | 8.0 |
cuDNN | 6.0 |
依赖包下载
- Python环境准备
$ sudo aot update
$ sudo apt install python-pip
$ sudo apt install python-numpy swig python-dev python-wheel
- Java环境准备
此处准备Java环境是因为bazel支持多语言,如C++,Java,Objective-C等。bazel安装时需要Java JDK 8。
$ sudo apt install default-jre
$ sudo apt install default-jdk
bazel下载
本文档使用的bazel版本是0.5.2。请在网上下载该版本。bazel版本过高可能会导致编译出错。
$ cd ~/Downloads #切换到你安装bazel的目录下
$ ./bazel-0.5.2-installer-linux-x86_64.sh
Tensorflow源码下载
本文档使用git方式下载Tensorflow源码。
$ sudo apt install git
$ cd ~ #切换到你的用户目录下执行以下命令,你也可以创建自己的目录并在该目录下工作。
$ git clone https://github.com/tensorflow/tensorflow
源码编译
$ cd ~/tensorflow
$ git checkout v1.3.0 #本文档安装的是1.3.0版的tensorflow。你也可以根据你想要的版本签出tensorflow的某一个版本。
$ ./configure #配置编译选项
python解释器路径选择/usr/bin/python。
Do you wish to build TensorFlow with MKL support?[Y/N] N
Do you wish to use jemalloc as the malloc implementation?[Y/n] Y
其余选项都选否。直到下面一条提示。
Do you wish to build TensorFlow with CUDA support?[y/N] y
Do you want to use clang as CUDA compiler?[y/N] N
再往下选择时,都选择默认。直到下面一条提示。
Do you wish to build TensorFlow with MPI support?[y/N] N
做完以上操作后,./configure会提示你配置结束。接着,输入如下命令。
$ bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package #等待编译结束
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package ~/Documents/ #这条命令会在你的Docements目录下生成一个whl文件
安装
使用Pip安装上一步生成的whl文件
$ cd ~/Documents/
$ pip install tensorflow-1.3.0-cp27-cp27mu-linux_x86_64.whl
安装结束后,测试下是否安装成功
$ python
>>> import tensorflow as tf
>>> a = tf.constant(1)
>>> b = tf.constant(2)
>>> c = a + b
>>> sess = tf.Session()
>>> sess.run(c) #这条语句会输出3
>>> sess.close()
>>> quit()
$
搞定了之后,便可以使用基于GPU的TensorFlow。