使用Bazel编译TensorBoard教程


Posted in Python onFebruary 15, 2020

1.TensorBoard

Tensorboard是一套用于查看和理解TensorFlow运行情况的工具,有时可能现有的功能并不能满足我们当前的需求,那么则需要我们对Tensorboard进行定制化开发,定制化的第一步就是编译源码。

TensorBoard已在github上开源,我们可以通过https://github.com/tensorflow/tensorboard获取到完整的代码。包括TensorBoard在内,Google的很多项目都是使用Bazel进行编译的,接下来我们进行相关环境的安装。

2.Bazel

Bazel类似于Make、Maven、Gradle,是一款开源的编译和测试工具。它使用一种人类可读的高级构建语言。Bazel支持多种开发语言,并且可以为不同平台进行构建。同时,Bazel支持跨越多用户、多仓库的大型代码库。

Bazel的安装可参考https://docs.bazel.build/versions/master/install-ubuntu.html,本文以Ubuntu为例介绍Bazel的安装过程。

1)通过安装包方式安装

首先,安装所需的包

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

在Github下载Bazel的安装包,Linux下需要下载 bazel-<version>-installer-linux-x86_64.sh

修改安装包的权限,运行安装包

chmod +x bazel-<version>-installer-linux-x86_64.sh
./bazel-<version>-installer-linux-x86_64.sh --user

增加环境变量

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

也可以放入~/.bashrc中

vim ~/.bashrc
source ~/.bashrc

2)使用apt仓库

安装JDK 8,建议通过官网安装,或者安装openjdk

sudo apt-get install openjdk-8-jdk

增加仓库源

echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -

安装bazel

sudo apt-get update && sudo apt-get install bazel

安装之后,可以通过upgrade直接更新到最新版本

sudo apt-get upgrade bazel

3.代码编译

由于使用tensorboard需要python3,我们将linux自带的python切换为python3

echo alias python=python3 >> ~/.bashrc
source ~/.bashrc

在github中将代码下载下来,或者通过git直接拉取

git@github.com:tensorflow/tensorboard.git

用高版本bazel编译tensorboard存在一个bug,虽然官方已经修复但是没有发布release,因此修改我们手动修改。

修改WORKSPACE,搜索io_bazel_rules_closure,修改为

http_archive(
 name = "io_bazel_rules_closure",
 sha256 = "b29a8bc2cb10513c864cb1084d6f38613ef14a143797cea0af0f91cd385f5e8c",
 strip_prefix = "rules_closure-0.8.0",
 urls = [
 "https://mirror.bazel.build/github.com/bazelbuild/rules_closure/archive/0.8.0.tar.gz",
 "https://github.com/bazelbuild/rules_closure/archive/0.8.0.tar.gz", # 2018-05-09
 ],
)

打开终端,进入项目目录下,输入

bazel build tensorboard:tensorboard

看到 Build completed successfully 说明编译成功

然后输入

./bazel-bin/tensorboard/tensorboard --logdir <path>

看到 TensorBoard 1.10.0 at http://host:6006 (Press CTRL+C to quit) 说明启动成功

打开浏览器,输入localhost:6006就可以看到我们编译好的TensorBoard了。

至此,TensorBoard的编译已经完成,接下来就可以进行自定义的开发了,注意要遵循Apache License 2.0许可喔~

以上这篇使用Bazel编译TensorBoard教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编程之多态用法实例详解
May 19 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
Apr 10 Python
django实现类似触发器的功能
Nov 15 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
python获取栅格点和面值的实现
Mar 10 Python
python pyecharts 实现一个文件绘制多张图
May 13 Python
分享一个python的aes加密代码
Dec 22 Python
Python Selenium操作Cookie的实例方法
Feb 28 Python
python自动化八大定位元素讲解
Jul 09 Python
python分分钟绘制精美地图海报
Feb 15 Python
TensorBoard 计算图的可视化实现
Feb 15 #Python
TensorBoard 计算图的查看方式
Feb 15 #Python
pycharm 更改创建文件默认路径的操作
Feb 15 #Python
PyCharm刷新项目(文件)目录的实现
Feb 14 #Python
浅谈Pycharm最有必要改的几个默认设置项
Feb 14 #Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
Feb 14 #Python
python图形开发GUI库pyqt5的基本使用方法详解
Feb 14 #Python
You might like
检测png图片是否完整的php代码
2010/09/06 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
原生javascript实现分页效果
2017/04/21 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
Python实现方便使用的级联进度信息实例
2015/05/05 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
Python内存读写操作示例
2018/07/18 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
python打包生成so文件的实现
2020/10/30 Python
Python识别处理照片中的条形码
2020/11/16 Python
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
函授毕业生的自我鉴定
2013/11/26 职场文书
装修致歉信
2014/01/15 职场文书
教育技术职业规划范文
2014/03/04 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
2014年护士工作总结范文
2014/11/11 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
2014年财政局工作总结
2014/12/09 职场文书
介绍信范文
2015/01/31 职场文书
鲁迅故居导游词
2015/02/05 职场文书
退休教师追悼词
2015/06/23 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android