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 ~/.bashrcsource ~/.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 >> ~/.bashrcsource ~/.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 ],)
新聞熱點
疑難解答