Ubuntu14.04 源代码安装 TensorFlow r0.12 详细教程
先甩一个TensorFlow的官方安装页面: TensorFlow download and setup先说说为什么要使用源代码安装吧TensorFlow有多种安装方式,最容易便捷也最少坑的安装方式是Pip安装. 我原先就是用pip安装的,一直在PC上训练模型也没出什么问题。最近打算把深度学习移植到手机上去,捣鼓了半天发现必须要源码安装的TensorFlow才能
先甩一个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的源码
终端运行
- 1
- 1
这样下载的是最新版TensorFlow版本,也可以单独下载指定版本
二、搭建Linux下的Bazel编译环境
1、 安装 pip
- 1
- 1
2、 安装 Java 8
- 1
- 2
- 3
- 1
- 2
- 3
3、配置Java 环境变量
- 1
- 1
在打开的文件末尾添加下面一行
- 1
- 1
4、 安装其他需要的包
- 1
- 1
5、 安装 Bazel Installer
先下载安装文件 Bazel Installer 下载路径
从页面下方中,找到对应自己系统的版本下载,我的是:
bazel-0.4.3-installer-linux-x86_64.sh
然后切换到.sh文件存放的路径,首先给下载的bazel-0.4.3-installer-linux-x86_64.sh文件添加可执行权限:
- 1
- 1
然后执行该文件:
- 1
- 1
6、 设置Bazel 环境变量
- 1
- 1
在 ~/.bashrc文件的末尾添加
- 1
- 1
(注:fish是我的用户名,该路径下有一个名为 bazel 的文件。如果运行报错,首先要检查该路径下是否存在一个名为bazel的文件)
7、 添加其他依赖
- 1
- 1
8、 安装 CUDA 和 cudnn
如果不安装支持GPU的版本,此步跳过
CUDA的安装请参考我的另一篇文章 Ubuntu 14.04 上安装 CUDA 7.5/8.0 超详细教程
9、 安装其他依赖
- 1
- 1
三、 编译生成 tensorflow .whl包
1、 切换到第一步下载的tensorflow目录下,在终端运行:
- 1
- 1
随后会出现一步步的安装选项,我在这里把我的配置操作贴出来。
因为我安装的是支持GPU的TF,所以CUDA相关的选项都选择yes
我在这一步遇到了超多问题,因为每个人的电脑环境都不同,我就不啰嗦我自己遇到的问题了。
如果大家到时遇到什么问题的话,可以去Google。我遇到的每个问题都是在Google上找到解决方案的
选项都选完之后,是漫长的运行过程,耐心等待
配置完毕后最后显示 configuration finished
2、 创建Tensorflow 的whl包
还是在 tensorflow根目录下,终端运行
- 1
- 1
然后再运行
- 1
- 1
四、安装 tensorflow.whl包
根据上步的代码,生成的.whl包放在 /tmp下。去 /tmp目录下找到 名为 tensorflowXXX.whl文件,拷贝它的名字,然后终端运行:
- 1
- 1
大功告成!!!
然后你可以运行一下tensorflow的神经网络程序,检验自己的tensorflow有没有安装成功
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)