使用Bazel編譯TensorBoard教程
1.TensorBoard
Tensorboard是一套用于查看和理解TensorFlow運(yùn)行情況的工具,有時(shí)可能現(xiàn)有的功能并不能滿足我們當(dāng)前的需求,那么則需要我們對(duì)Tensorboard進(jìn)行定制化開(kāi)發(fā),定制化的第一步就是編譯源碼。
TensorBoard已在github上開(kāi)源,我們可以通過(guò)https://github.com/tensorflow/tensorboard獲取到完整的代碼。包括TensorBoard在內(nèi),Google的很多項(xiàng)目都是使用Bazel進(jìn)行編譯的,接下來(lái)我們進(jìn)行相關(guān)環(huán)境的安裝。
2.Bazel
Bazel類似于Make、Maven、Gradle,是一款開(kāi)源的編譯和測(cè)試工具。它使用一種人類可讀的高級(jí)構(gòu)建語(yǔ)言。Bazel支持多種開(kāi)發(fā)語(yǔ)言,并且可以為不同平臺(tái)進(jìn)行構(gòu)建。同時(shí),Bazel支持跨越多用戶、多倉(cāng)庫(kù)的大型代碼庫(kù)。
Bazel的安裝可參考https://docs.bazel.build/versions/master/install-ubuntu.html,本文以Ubuntu為例介紹Bazel的安裝過(guò)程。
1)通過(guò)安裝包方式安裝
首先,安裝所需的包
sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python
在Github下載Bazel的安裝包,Linux下需要下載 bazel-<version>-installer-linux-x86_64.sh
修改安裝包的權(quán)限,運(yùn)行安裝包
chmod +x bazel-<version>-installer-linux-x86_64.sh ./bazel-<version>-installer-linux-x86_64.sh --user
增加環(huán)境變量
export PATH="$PATH:$HOME/bin"
也可以放入~/.bashrc中
vim ~/.bashrc source ~/.bashrc
2)使用apt倉(cāng)庫(kù)
安裝JDK 8,建議通過(guò)官網(wǎng)安裝,或者安裝openjdk
sudo apt-get install openjdk-8-jdk
增加倉(cāng)庫(kù)源
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
安裝之后,可以通過(guò)upgrade直接更新到最新版本
sudo apt-get upgrade bazel
3.代碼編譯
由于使用tensorboard需要python3,我們將linux自帶的python切換為python3
echo alias python=python3 >> ~/.bashrc source ~/.bashrc
在github中將代碼下載下來(lái),或者通過(guò)git直接拉取
git@github.com:tensorflow/tensorboard.git
用高版本bazel編譯tensorboard存在一個(gè)bug,雖然官方已經(jīng)修復(fù)但是沒(méi)有發(fā)布release,因此修改我們手動(dòng)修改。
修改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 ], )
打開(kāi)終端,進(jìn)入項(xiàng)目目錄下,輸入
bazel build tensorboard:tensorboard
看到 Build completed successfully 說(shuō)明編譯成功
然后輸入
./bazel-bin/tensorboard/tensorboard --logdir <path>
看到 TensorBoard 1.10.0 at http://host:6006 (Press CTRL+C to quit) 說(shuō)明啟動(dòng)成功
打開(kāi)瀏覽器,輸入localhost:6006就可以看到我們編譯好的TensorBoard了。
至此,TensorBoard的編譯已經(jīng)完成,接下來(lái)就可以進(jìn)行自定義的開(kāi)發(fā)了,注意要遵循Apache License 2.0許可喔~
以上這篇使用Bazel編譯TensorBoard教程就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)生成帶logo背景圖的二維碼
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)生成帶logo背景圖的二維碼(靜態(tài)和動(dòng)態(tài)圖),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-05-05python和Appium移動(dòng)端多設(shè)備自動(dòng)化測(cè)試框架實(shí)現(xiàn)
這篇文章主要介紹了python和Appium移動(dòng)端多設(shè)備自動(dòng)化測(cè)試框架實(shí)現(xiàn),基于pytest和Appium框架,支持Android和iOS功能自動(dòng)化的測(cè)試框架的相關(guān)內(nèi)容,需要的小伙伴可以參考一下2022-04-04Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法
下面小編就為大家分享一篇Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Python實(shí)現(xiàn)加密的RAR文件解壓的方法(密碼已知)
這篇文章主要介紹了Python實(shí)現(xiàn)加密的RAR文件解壓,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09python使用matplotlib模塊繪制多條折線圖、散點(diǎn)圖
這篇文章主要為大家詳細(xì)介紹了python使用matplotlib模塊繪制多條折線圖、散點(diǎn)圖的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09利用Python實(shí)現(xiàn)簡(jiǎn)易計(jì)算器的示例代碼
最近學(xué)習(xí)了字符串,運(yùn)算符,條件語(yǔ)句,循環(huán)語(yǔ)句,我在想可以用我最近學(xué)的東西做什么? 看到運(yùn)算我就想到了可以做一個(gè)簡(jiǎn)易的計(jì)算器,感興趣的可以了解一下2022-11-11