源码安装tensorflow

来源:互联网 发布:java面试问题 编辑:程序博客网 时间:2024/05/01 14:59

因为官网上的源码安装教程基本也是使用的Python2,所以我这里使用Python3来安装

操作系统:xubuntu17.04 64位


下载bazel,下载页面为https://github.com/bazelbuild/bazel/releases,我下载的版本为

https://github.com/bazelbuild/bazel/releases/download/0.5.4/bazel-0.5.4-without-jdk-installer-linux-x86_64.sh

先把源码下载下来,TensorFlow源码主页为 https://github.com/tensorflow/tensorflow

安装git,

sudo apt install gitcd Downloads/git clone https://github.com/tensorflow/tensorflow.git

在下载的过程中安装下bazel,首先要安装openjdk8,注意不要安装openjdk-9就是了

sudo apt install openjdk-8-jdk./bazel-0.5.4-without-jdk-installer-linux-x86_64.sh --usersudo cp ~/.bazel/bin/bazel-complete.bash /etc/bash_completion.d/

修改~/.bashrc,最后添加一行

export PATH="$PATH:$HOME/bin"

在配置TensorFlow之前可以先把Python2卸载掉(虽然后面还会需要,到时再安装)

sudo apt purge python2.7-minimal

然后简单点可以关闭当前的终端,重新打开一个终端,切换到tensorflow的完成下载的路径下,

cd ~/Downloads/tensorflow/./configure

一路回车,直到配置完成,然后需要安装一些依赖包(包括刚才卸载的python2.7-minimal)

sudo apt-get install python3-numpy python3-dev python3-pip python3-wheel python-minimal

我这里没有专用的GPU,执行编译命令如下:

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

然后就是漫长的等待


编译完成后执行命令

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkgpip3 install /tmp/tensorflow_pkg/tensorflow-1.3.0-cp35-cp35m-linux_x86_64.whl

安装完成,写个程序测试一下,注意,不要在TensorFlow目录下测试,

我在测试前先把Python2卸载掉,证明我们的程序执行不需要依赖Python2

$ cd$ sudo apt purge python2.7-minimal

$ python3Python 3.5.3 (default, Jan 19 2017, 14:11:04) [GCC 6.3.0 20170118] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import tensorflow as tf>>> hello = tf.constant('Hello, TensorFlow!')>>> sess = tf.Session()>>> print(sess.run(hello))b'Hello, TensorFlow!'>>> a = tf.constant(10)>>> b = tf.constant(32)>>> print(sess.run(a+b))42>>> quit()

和上篇文章pip3直接安装进行比较,我们看到确实这里没有那些警告,证明从源码安装确实支持更多的CPU指令,

别人说这样安装执行效率更高(号称提高30%?)


本人还是喜欢上一篇的pip3的直接安装的方法,因为TensorFlow有新版本了升级很方便啊