先甩一个TensorFlow的官方安装页面:
TensorFlow download and setup(https://www.tensorflow.org/get_started/os_setup#requirements)
先说说为什么要使用源代码安装吧
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 apt-get-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++ zliblg-dev unzip
5、安装 Bazel Installer
先下载安装文件 Bazel Installer 下载路径(https://github.com/bazelbuild/bazel/releases)
从页面下方中,找到对应自己系统的版本下载,我的是:
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.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 超详细教程(http://www.linuxdiyf.com/linux/27914.html)
9、安装其他依赖
$ sudo apt-get install libcupti-dev
三、编译生成 tensorflow .whl包
1、切换到第一步下载的tensorflow目录下,在终端运行:
$ ./configure
随后会出现一步步的安装选项,我在这里把我的配置操作贴出来。
因为我安装的是支持GPU的TF,所以CUDA相关的选项都选择yes
我在这一步遇到了超多问题,因为每个人的电脑环境都不同,我就不啰嗦我自己遇到的问题了。
如果大家到时遇到什么问题的话,可以去搜索。我遇到的每个问题都是在搜索上找到解决方案的
选项都选完之后,是漫长的运行过程,耐心等待
配置完毕后最后显示 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下。去 /tmp目录下找到 名为 tensorflowXXX.whl文件,拷贝它的名字,然后终端运行:
$ sudo pip install /tmp/tensorflow_xxx.whl(替换为/tmp/tensorlflow_pkg
大功告成!
然后你可以运行一下tensorflow的神经网络程序,检验自己的tensorflow有没有安装成功。