使用Bazel编译TensorBoard教程
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)通过安装包方式安装
首先,安装所需的包
sudoapt-getinstallpkg-configzipg++zlib1g-devunzippython
在Github下载Bazel的安装包,Linux下需要下载bazel-
修改安装包的权限,运行安装包
chmod+xbazel--installer-linux-x86_64.sh ./bazel- -installer-linux-x86_64.sh--user
增加环境变量
exportPATH="$PATH:$HOME/bin"
也可以放入~/.bashrc中
vim~/.bashrc source~/.bashrc
2)使用apt仓库
安装JDK8,建议通过官网安装,或者安装openjdk
sudoapt-getinstallopenjdk-8-jdk
增加仓库源
echo"deb[arch=amd64]http://storage.googleapis.com/bazel-aptstablejdk1.8"|sudotee/etc/apt/sources.list.d/bazel.listcurlhttps://bazel.build/bazel-release.pub.gpg|sudoapt-keyadd-
安装bazel
sudoapt-getupdate&&sudoapt-getinstallbazel
安装之后,可以通过upgrade直接更新到最新版本
sudoapt-getupgradebazel
3.代码编译
由于使用tensorboard需要python3,我们将linux自带的python切换为python3
echoaliaspython=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 ], )
打开终端,进入项目目录下,输入
bazelbuildtensorboard:tensorboard
看到Buildcompletedsuccessfully说明编译成功
然后输入
./bazel-bin/tensorboard/tensorboard--logdir
看到TensorBoard1.10.0athttp://host:6006(PressCTRL+Ctoquit)说明启动成功
打开浏览器,输入localhost:6006就可以看到我们编译好的TensorBoard了。
至此,TensorBoard的编译已经完成,接下来就可以进行自定义的开发了,注意要遵循ApacheLicense2.0许可喔~
以上这篇使用Bazel编译TensorBoard教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。