Ubuntu14.04 源代码安装 TensorFlow r0.12 详细教程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/masa_fish/article/details/54096996

先甩一个TensorFlow的官方安装页面:
TensorFlow download and setup


先说说为什么要使用源代码安装吧

TensorFlow有多种安装方式,最容易便捷也最少坑的安装方式是Pip安装.
我原先就是用pip安装的,一直在PC上训练模型也没出什么问题。

最近打算把深度学习移植到手机上去,捣鼓了半天发现必须要源码安装的TensorFlow才能支持编译安卓apk。(不太确定此处理解是否正确)

知道真相的我,先给了自己五分钟的缓冲时间。好吧,既然必须要移植,那就开始装吧。
说句题外话,装之前要做好心理准备,跟pip安装一句代码的工作量相比,源码安装真是啰里啰嗦,问题百出啊~~遇到各种报错,折腾了两三天才搞定。

我的电脑环境

笔记本:ThinkPad T450 X86_64
显卡:主显 Intel HD Graphics 5500 ; 独显 NVIDIA GT 940M
系统环境:Ubuntu14.04 64位、Windows7 64位 双系统
CUDA 版本: 8.0
cudnn 版本: v5.1


前言 -安装概览

源码安装的过程很好理解,大体可以分为以下四步:

1、从 github 下载 tensorflow 的项目源代码
2、配置Linux系统的Bazel编译环境
3、使用 bazel 将Tensorflow源代码编译成 python .whl包
4、通过pip安装 3) 步编译完成的包

一、 从GitHub下载tensorflow的源码

终端运行

$ git clone https://github.com/tensorflow/tensorflow

这样下载的是最新版TensorFlow版本,也可以单独下载指定版本


二、搭建Linux下的Bazel编译环境

1、 安装 pip

$ sudo apt-get install python-pip python-dev

2、 安装 Java 8

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

3、配置java 环境变量

$ sudo gedit /etc/environment

在打开的文件末尾添加下面一行

 JAVA_HOME = "/usr/lib/jvm/java-8-oracle"

4、 安装其他需要的包

$ sudo apt-get install pkg-config zip g++ zlib1g-dev unzip

5、 安装 Bazel Installer

先下载安装文件 Bazel Installer 下载路径

从页面下方中,找到对应自己系统的版本下载,我的是:
bazel-0.4.3-installer-linux-x86_64.sh

然后切换到.sh文件存放的路径,首先给下载的bazel-0.4.3-installer-linux-x86_64.sh文件添加可执行权限:

$ chmod +x bazel-0.4.3-installer-linux-x86_64.sh

然后执行该文件:

$ ./bazel-0.4.3-installer-linux-x86_64.sh --user

6、 设置Bazel 环境变量

$ sudo gedit ~/.bashrc

在 ~/.bashrc文件的末尾添加

export PATH='$PATH:$/home/fish/bin'

(注:fish是我的用户名,该路径下有一个名为 bazel 的文件。如果运行报错,首先要检查该路径下是否存在一个名为bazel的文件)

7、 添加其他依赖

$ sudo apt-get install python-numpy python-dev python-wheel

8、 安装 CUDA 和 cudnn

如果不安装支持GPU的版本,此步跳过

CUDA的安装请参考我的另一篇文章 Ubuntu 14.04 上安装 CUDA 7.5/8.0 超详细教程

9、 安装其他依赖

$ sudo apt-get install libcupti-dev

三、 编译生成 tensorflow .whl包

1、 切换到第一步下载的tensorflow目录下,在终端运行:

$ ./configure

随后会出现一步步的安装选项,我在这里把我的配置操作贴出来。

因为我安装的是支持GPU的TF,所以CUDA相关的选项都选择yes

./configure配置操作明细

我在这一步遇到了超多问题,因为每个人的电脑环境都不同,我就不啰嗦我自己遇到的问题了。

如果大家到时遇到什么问题的话,可以去Google。我遇到的每个问题都是在Google上找到解决方案的

选项都选完之后,是漫长的运行过程,耐心等待

配置完毕后最后显示 configuration finished

2、 创建Tensorflow 的whl包

还是在 tensorflow根目录下,终端运行

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

然后再运行

$ bazel-bin/tensorflow/tools/pip_package/build_pip_package  /tmp/tensorlflow_pkg

四、安装 tensorflow.whl包

根据上步的代码,生成的.whl包放在/tmp/tensorflow_pkg下。去该目录下找到 名为 tensorflowXXX.whl文件,拷贝它的名字,然后终端运行:

$ cd /tmp/tensorflow_pkg
$ sudo pip install tensorflow_xxx.whl(替换为生成的whl文件名)

大功告成!!!

然后你可以运行一下tensorflow的神经网络程序,检验自己的tensorflow有没有安装成功

猜你喜欢

转载自blog.csdn.net/masa_fish/article/details/54096996