您的位置:首页 > 其它

Tensorflow编译源码安装

2017-12-18 16:15 288 查看

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
cuda8.0
cuDNN6.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[/code] 

源码编译

$ 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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  深度学习