帶你走入AI世界,TensorBoard手把手教學

Jan 7, 2022 Tim

Photo by Alvaro Reyes on Unsplash

Tensorboard 畫面:取自 Tensorflow 官網

在 AI 領域中若要獲得表現不錯的模型是需要花費一番心力,需經過反覆的訓練、評估每次訓練完成的模型相關性指標是關鍵所在,但模型的組成相當複雜,對於模型的洞察、除錯、超參數調整將影響的模型的哪些指標是不容易的。 TensorBoard 是一個專用來呈現 AI 模型與資料的視覺化工具,其支援多種 AI Framework、多種模型格式,只要遵循 TensorBoard 格式,就能讓程式設計者更容易掌握複雜的模型與資料。

為何需要 TensorBoard?

優點:

要如何將模型相關指標導向 TensorBoard 呈現?

要如何在 TensorBoard上觀察資料與相關指標,在接下來內容中有簡單說明與範例。

以 TensorFlow 程式為例,其中 tf.summary 函式是將要觀察的模型或資料以事件檔案(events files)的方式輸出,讓 TensorBoard 從這些事件檔案取得資料,進而繪製各種圖表。

tf.summary 提供一系列的函式,最終目的是能輸出多種型態指標。接下來將以 Mnist 手寫辨識數字作為範例,若想觀察模型中的訓練指標學習率(Learning rate),可以利用 tf.summary.scalar 輸出:

# 輸出訓練階段之學習率
tf.summary.scalar('my learning rate', my_learning_rate)
# 輸出準確率
tf.summary.scalar('accuracy', accuracy)

範例程式(官方)

執行 Mnist 官方範例程式就能得到模型訓練階段與測試階段的精準度、模型相關性指標,這些資訊將預設存放於 /tmp/tensorflow/mnist 目錄中,即可透過 TensorBoard 呈現這些指標。

執行方式:

python mnist_with_summaries.py

在 AI Console 上如何開啟 TensorBoard?

在以上範例中,以 Tensorflow 完成模型訓練後,就能開啟 TensorBoard 服務觀察模型中各種數據、指標,執行方式為:

tensorboard --logdir=/tmp/tensorflow/mnist

執行 TensorBoard 之後,預設會在本機的 6006 連接埠開啟一個網頁伺服器,但 AI Console 很貼心的在 Tensorflow 應用程式中,已加入 TensorBoard 的 Endpoint,啟動 TensorBoard 後,到 AI Console 畫面點擊對應的 EndPoint即可看到 TensorBoard 畫面。

開啟之後,就可以看到 TensorBoard 的畫面了。第一頁是純量值(SCALARS)的畫面,將訓練、測試階段在每一次迭代所輸出的指標數值畫在圖形上,我們可以在這頁畫面中觀察模型精準度成長、損失函數下降的曲線。

資料呈現

在 TensorBoard 上能具體呈現資料的具體面貌,更清楚了解訓練資料與測試資料的長相與之間的差距。

網路架構呈現

若有設計過深度學習網路的朋友,可能會遇到一個問題,就是網路架構的設計不是很直觀,每多一層設計就必須畫下具體的網路結構,若要調整結構才能遵群有系統性的脈絡,而 TensorBoard 也考慮到這樣的問題,提供網路呈現的功能,開發者不需要土法煉鋼的手畫設計稿,進而提升開發的效率。

神經元分佈

在 TensorBoard 介面上提供 DISTRIBUTIONS 功能,主要呈現神經元的輸出分佈,也能比較神經元經函數激活前後的分布狀態。

結論:

許多業界上紛紛將 AI 導入自己產品或系統,無非是為了提高產品的競爭力,每個環節都可能成為模型品質好壞的關鍵,而其中最重要的是觀察超參數的變化進而調教,TensorBoard 提供視覺化的介面,詳細呈現超參數分析圖表、權重、資料分布情形,進而加速開發者調教出更優越的模型。

References:

  1. https://www.tensorflow.org/tensorboard
  2. https://blog.gtwang.org/programming/tensorboard-tensorflow-visualization-tutorial/

Gemini AI Console 已發布最新版本,歡迎各界有興趣的朋友跟我們索取最新的產品資訊,也可以 立刻預約試用,我們的產品顧問將向您示範,並免費提供線上的試用!

雙子星雲端為 CNCF 會員,是 CNCF 所認證的 Kubernetes 服務提供商,在雲端技術擁有十多年以上的經驗,為台灣雲端技術早期領先者。目前為國家級 AI 雲的軟體及 Kubernetes 技術與服務提供商,更是諸多企業與單位導入容器與管理平台的最佳夥伴。


相關文章

回雙子星技術部落格列表

Gemini AI Console

熱門文章


kubernetes professional service

關於我們

雙子星雲端是混合多雲技術的領導者,是國際認證之 KCSP - Kubernetes 服務提供商,同時也為 CNCF 雲原生計算基金會會員。

雙子星的雲端專家擁有 Kubernetes、OpenStack 與 Google Cloud Platform 等多項證照,我們的軟體至今已為上百家機構和數千台的 CPU/GPU 伺服器提供雲端服務。