使用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中对象迭代与反迭代的技巧总结
Sep 17 Python
Python用UUID库生成唯一ID的方法示例
Dec 15 Python
Python3实现发送QQ邮件功能(附件)
Dec 23 Python
python3将视频流保存为本地视频文件
Jun 20 Python
解决csv.writer写入文件有多余的空行问题
Jul 06 Python
对django中render()与render_to_response()的区别详解
Oct 16 Python
Python While循环语句实例演示及原理解析
Jan 03 Python
Python通过kerberos安全认证操作kafka方式
Jun 06 Python
怎么快速自学python
Jun 22 Python
python两种注释用法的示例
Oct 09 Python
彻底解决Python包下载慢问题
Nov 15 Python
Window10上Tensorflow的安装(CPU和GPU版本)
Dec 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
PHP 中的批处理的实现
2007/06/14 PHP
javascript 时间比较实现代码
2009/10/28 Javascript
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
python基础教程之分支、循环简单用法
2016/06/16 Python
Python切图九宫格的实现方法
2019/10/10 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
软件测试笔试题
2012/10/25 面试题
软件测试面试题
2015/10/21 面试题
营销总经理的岗位职责
2013/12/15 职场文书
深入开展党的群众路线教育实践活动方案
2014/02/04 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
摩登时代观后感
2015/06/03 职场文书
生活委员竞选稿
2015/11/21 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
在pycharm中无法import所安装的库解决方案
2021/05/31 Python
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫