Tesorflow源代码安装方式以及错误的解决方法
作者 修雨轩陈@cnblog
目录
Configure the installation. (安装配置)
Create the pip package and install (创建pip安装包并且安装)
----------------
参考文献:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md
软件环境:
ubuntu 14,.04 –64bit
python2.7
java8
bazel 0.3XX
PS 由于bazel版本过低, 会导致tensorflow安装失败,请大家千万不要安装这个版本的bazel 我再下面会简述自己的这个错误。
------------------
Configure the installation (配置安装)
按照github下的方式安装方式
出错:

查看值错误输出的末尾:

原因:
本地没有bazel /bazel版本与tensorflow的要求不一致 , 脚本会自动去google官网上下载,由于****, 导致不能访问google 于是出错。
解决方法: 手动安装bazel ,并在github上找到bazel 的0.4.2 版本;
安装bazel 的时候又会出现以下问题:

这是由于bazel 依赖于google prolbuff , 于是需要安装progub ; 当然也有更好的解决方法, 方法如下
在安装之前最好先把旧版本的bazel删除掉, 根据网站上的提示:
https://bazel.build/versions/master/docs/install.html
以及log提示, 在geihub上找到bazel-0.4.2-installer-linux-xxxx.sh
https://github.com/bazelbuild/bazel/releases
使用以下命令安装:
./bazel-0.4.2-installer-linux-x86_64.sh --user


好了 , 已经bazel-0.42安装成功了。
接下来据需安装tensorflow:

Create the pip package and install (创建pip 安装包并安装)
继续按照安装说明文档https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md
使用命令bazel构造源:
bazel build --config opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
安装结果如所示:

Setting up TensorFlow for Development(配置Tensorflow开发版)
好了, bazel 命令已经创建出了pip 安装包。
创建一个目录用于存放安装文件:
mkdir _python_build
切换到该目录下:
cd _python_build
建立软连接(符号链接)
ln -s ../bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/* .
ln -s ../tensorflow/tools/pip_package/* . ##注意以上两句最后都有一个点
如图所示
安装
python setup.py develop
结果如图所示: PS 安装的是开发版本0.12

测试安装
使用python命令进入python 中,并导入tensorflow , 如果整个过程没有出错, 说明tensorflow安装成功

总结
整个过程中比较难的两部分都在准备阶段: 安装Cuda ,以便于对GPU加速的支持;还有一个就是bazel 的安装。Tensorflow的源码方式安装并不是向一些人说的那样很难。
Cuda的安装以及Cudann的安装在Cuda以及Tensorflow的github主页中都有详细说明; 因此没有必要去详细说明。
Tesorflow源代码安装方式以及错误的解决方法的更多相关文章
- CentOS 安装hping3工具及安装遇到的错误及解决方法
hping是用于生成和解析TCPIP协议数据包的开源工具.创作者是Salvatore Sanfilippo.目前最新版是hping3,支持使用tcl脚本自动化地调用其API.hping是安全审计.防火 ...
- Elasticsearch5.x安装及常见错误的解决方法
Elasticsearch是基于java开发的,机器上必须要先java环境,elasticsearch5.x建议用jdk8的最新版本.下面介绍elasticsearch5.x的安装步骤: 一.安装El ...
- tensorflow安装使用过程错误及解决方法
tensorflow2.x 使用过程中常见错误(持续更新) 安装配置,使用tensorflow训练模型,转换为tflite模型,并部署与移动端过程中,虽然不难,但是也常出现一些莫名其妙的问题,下面简单 ...
- yum安装报睡眠错误的解决方法
可能是系统自动升级正在运行,yum在锁定状态中.可以通过强制关掉yum进程:#rm -f /var/run/yum.pid然后就可以使用yum了.
- window10 安装出现the error code is 2503错误的解决方法
window10 安装出现the error code is 2503错误的解决方法: 设置 C:\WINDOWS\TEMP的权限
- 在VMware 虚拟机中配置 windows2003系统的NLB负载均衡;0x800706D5错误的解决方法;没有接口可用于安装新的群集
首先在VM里面 我装了3个2003的系统, 分别为 webservice01 ,webservice 02 , 以及 webview 这3台. 前面两台用于配置负载均衡,后面的webview就是 ...
- 安装tomcat出现failed to install tomcat8 service错误及解决方法
failed to install tomcat8 service 如下图所示: 一.安装tomcat出现failed to install tomcat6 service错误及解决方法(转载 ...
- WCF服务部署到IIS上,然后通过web服务引用方式出现错误的解决办法
本文转载:http://www.cnblogs.com/shenba/archive/2012/01/06/2313932.html 昨天在用IIS部署一个WCF服务时,碰到了如下错误: 理解了文档内 ...
- 在安装mysql出现的错误以及解决方法
因为手贱更新了一下驱动,结果导致无线网卡出了问题.然而就算是从官网上下载了驱动各种折腾也没有弄好,心里特别堵.无奈只有重装系统这一条路了.这里表示特别难过,因为电脑上东西实在太多了,而且各种环境变量. ...
随机推荐
- 精通 WPF UI Virtualization (提升 OEA 框架中 TreeGrid 控件的性能)
原文:精通 WPF UI Virtualization (提升 OEA 框架中 TreeGrid 控件的性能) 本篇博客主要说明如何使用 UI Virtualization(以下简称为 UIV) 来提 ...
- 苹果内购和 Apple Pay
作者:CC老师_MissCC链接:http://www.jianshu.com/p/e3bc47e81785來源:简书 苹果内购 1.什么是内购? 如果你购买的商品,是在本app中使用和消耗的,就一定 ...
- python获取函数参数默认值的两种方法
1.使用函数的__defaults__魔术方法 demo: # coding=utf-8 def f(a,b,c=1): pass f.__defaults__ 输出结果: (1,) 2.使用insp ...
- 解析图书 XML
Java代码: package com.thinkgem.jeesite.test; import org.dom4j.Attribute; import org.dom4j.Document; im ...
- liunx 安装 phpstudy
phpStudy Linux版&Win版同步上线 支持Apache/Nginx/Tengine/Lighttpd/IIS7/8/6 phpStudy for Linux 支持Apache/Ng ...
- bootdo开源项目修改代码后页面无效
修改了JS文件,重启服务后,发现页面没有刷新出效果. 清空缓存一般就可以解决此问题.
- HDU - 1520 树形DP入门题
写了两种DP,第一种是按照自己习惯来xjb敲的,第二种参考别人 熟悉一下树形DP的套路 dp[i][]是维护i及以下的关系最优值的,所以我觉得两次DP记忆搜索之间不清-1应该是正确的(也就做了一次加法 ...
- 2019.3.26 SQL语句(进阶3)
表的联查 员工表与部门表 员工表:id,姓名,年龄,部门id 部门表:部门id,部门名,部门成立时间,部门领导,部门职责.... 表和表之间的关系 一对一 一对多 多对多 创建联查 创建表 先创建被依 ...
- Linux中断分层--工作队列
1. 工作队列是一种将任务推后执行的方式,它把推后的任务交由一个内核线程去执行.这样中断的下半部会在进程上下文执行,他允许重新调度甚至睡眠.每个被推后的任务叫做“工作”,由这些工作组成的队列称为工作队 ...
- python3.6 子类的__init__调用父类的__init__
python3.6 子类的__init__调用父类的__init__ 父类 class worker: def __init__(self): self.a=1 self.b=2 if __name_ ...
