Linux16.04配置tensorflow(GPU源码编译)并深入了解tensorboard
Tensorflow – Google推出的一個強大的“深度學習框架”。于2015年11月在GIthub上開源,在2016年4月補充了分布式版本,并于2017年1月發布了1.0版本的預覽,API接口趨于穩定。目前Tensorflow仍處于快速開發迭代過程中,有大量新功能及性能優化在持續研發中。Google開源Tensorflow的原因有:第一時希望通過社區的力量,讓大一起完善Tensorflow。現在看來,它已經達到了這個目的。作為一個最受熱捧的深度學框架,他已經吸引了眾多的愛好者和開發者。第二是回饋社區,Google希望讓這個優秀的工具得到更多的應用,從整體上提高學術界乃至工業界使用深度學習的效率。除了Tensorflow,Google還開源過大量的項目,包括移動操作系統Android、瀏覽器Chromium、編程語言Go、JavaScript引擎V8、數據交換框架Protobuf、編譯工具Bazel、OCR工具Tesseract等眾多項目。
Tensorflow 既是一個實現機器學習算法的接口,同時也是執行機器學習算法的框架。它前端支持Python、C++、Go、Java等多種開發語言,后端使用C++、CUDA等寫成。Tensorflow實現的算法可以在眾多異構的系統上方方便地移植,比如Andriod手機、iphone、普通的cpu服務器、乃至大規模GPU集群。除了執行深度學習算法,Tensorflow還可以用來實現很多其他的算法,包括線性回歸、邏輯回歸、隨機森林等。Tensorflow建立的大規模深度學習模型的應用場景也非常的廣泛,包括“語音識別”“自然語言處理(NLP)”“計算機視覺(CV)”“機器人控制”“信息抽取”“藥物研發”“分子活動預測”等,使用Tensorflow開發的模型也在這些領域獲得了最前沿的成果。
Tensorflow由一個重要的組件client,即客戶端,它通過Session的接口與master及多個worker相連。其中一個worker可以與多個硬件設備相連,比如CPU或GPU,并負責管理這些硬件。而master則負責指導所有worker按流程執行計算圖。Tensorflow有單機模式和分布式模式兩種實現,其中單機指client、master、worker全部在一臺機器上的同一進程中;分布式的版本允許client、master、worker在不同機器的不同進程中,同時由集群調度系統統一管理各項任務。
Tensorflow中的一個非常有用的工具是Tensorboard。Tensorboard時Tensorflow的一組Web應用,用來監控Tensorflow的運行過程,或進行可視化。Tensorboard目前支持5種可視化:標量(scalars)、圖片(images)、音頻(audio)、直方圖(histogram)和計算圖(Computation Graph)。Tensorboard的Events Dashboard可以用來持續地監控運行的關鍵指標,比如loss,accuracy,學習速率(lr)等眾多你需要觀察的變量。Image Dashboard則可以展示訓練過程中用戶設定保存的圖片,比如某個訓練中間結果用Matplotlib等繪制出來的圖片;Graph Explore則可以完全展示一個TensorFlow的計算圖,并且支持縮放拖拽和查看節點屬性。下面是Tensorborad的一些視圖。
初級面板
Embedding結果顯示
T-SNE
好了,下面開始“源碼編譯Tensorflow”
1. 首先你需要安裝CUDA和Cudnn,請查看我前面的Blog;
注:如果你想要采用其他的安裝方式,你可以點擊以下的連接,去tensorflow官網查看詳細的安裝過程,選擇一種你喜歡的方式進行安裝。總之,tensorflow官網提供的很詳細,遠遠超越了其它的深度學習框架。tensorflow各種安裝方式鏈接
好了,tensorflow的安裝到此結束,下面讓我們來說下tensorboard吧! 我在許多tensorflow的群里面看到大家對tensorboard的使用提出了很多的問題,很有必要在這里給大家說明一下。 tensorboard -- 一個必備的可視化工具,只要你使用過,你就會深深的喜歡上它。 1. 首先,讓我們來看看如何打開它吧。你需要在Linux命令行下面輸入以下命令: tensorboard --logdir=xxx 2. 打開瀏覽器,在網址處輸入以下內容: localhost:6006 或者 http://localhost:6006 注: 1)--logdir用來指定需要可視化結果的具體路徑,這個參數是必須指定的。 2)在許多的tensorflow代碼中通常會利用FLAG標志來指定這個logdir,相信聰明的你已經發現啦。 3)這個我隨便打開了一個logdir路徑,命令行中顯示的結果如下圖所示: 4)tensorboard是在本地的瀏覽器上面運行,因此需要你打開瀏覽器,并指定localhost(當前主機host),聰明的你可能已經注意到了命令行中已經彈出來了這個指示啦。打開后的界面如下圖所示:命令行中打開tensorboard
tensorboard登錄后的原始界面
cmd中輸入:tensorboard –logdir=D:/XXX顯示結果(切換路徑)
cmd中輸入:tensorboard –logdir=D:/XXX顯示結果(未切換路徑)
利用360瀏覽器打開的tensorboard界面
利用Google瀏覽器打開的tensorboard界面
scalars中顯示的loss結果:
graph中顯示的結果:
histogram中顯示某幅圖片結果:
T-SNE中顯示的結果:
image中顯示的結果:
文件下載鏈接
這篇Blog應該結束啦。Tensorflow很全也很大,需要你長時間的去了解學習它,慢慢的解開它的神秘面紗,而且它已經應用到了手機上面,這是其他的深度框架遠遠不能及的。注: 1)由于個人能力有限,難免會有有些錯誤,希望大家能夠諒解; 2)關于本博客,如果你有任何問題都可以向我提問,我會及時的回復大家。 3)由于本博客是我的原創,如果想要轉載,希望你聯系我,我會及時的回復。 郵箱:1575262785@qq.com總結
以上是生活随笔為你收集整理的Linux16.04配置tensorflow(GPU源码编译)并深入了解tensorboard的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win10运行速度慢怎么解决 Win10
- 下一篇: 深度学习资料汇总(满满的干货)