TensorBoard視覺化結構管理工具在Windows下的使用
遵循:BY-SA
作者:譚東
時間:2017年6月10日
環境:Windows 7
TensorBoard是TensorFlow自帶的視覺化結構管理和除錯優化網路的工具。在我們學習深度學習網路框架時,我們需要更直觀的看到各層網路結構和引數,也可以更好的進行除錯優化網路。TensorBoard可以實現網路結構的顯示,也可以進行顯示訓練及測試過程中各層引數的變化情況。
我們先看下TensorBoard的大致介面。
我們可以看到頂部有幾個功能分類:SCALARS、IMAGES、AUDIO、GRAPHS等。
SCALARS是訓練引數統計顯示,可以看到整個訓練過程中,各個引數的變換情況。
官方英文翻譯:
TensorBoard的標量儀表板視覺化隨時間變化的標量統計; 例如,您可能需要跟蹤模型的損失或學習率。 如關鍵概念所述,您可以比較多個執行,資料按標籤組織。 折線圖具有以下互動作用:
- 點選每個圖表左下角的小藍色圖示將展開圖表
- 在圖表上拖動矩形區域將放大
- 雙擊圖表將縮小
- 滑鼠在圖表上會產生十字準線,資料值記錄在左側的執行選擇器中。
IMAGES輸入和輸出標籤。
官方翻譯:
影象儀表板可以顯示通過tf.image_summary儲存的png。 設定儀表板,使每行對應一個不同的標籤,每列對應一個執行。 由於影象顯示板支援任意的png,您可以使用它將自定義視覺化(例如,matplotlib散點圖)嵌入到TensorBoard中。 此儀表板總是顯示每個標籤的最新影象。
AUDIO官方英文翻譯:
音訊儀表板可以嵌入通過tf.audio_summary儲存的音訊的可播放音訊小部件。 設定儀表板,使每行對應一個不同的標籤,每列對應一個執行。 此儀表板將為每個標籤嵌入最新的音訊。
GRAPH是網路結構顯示。
官方英文翻譯:
圖形瀏覽器可以顯示TensorBoard圖形,從而可以檢查TensorFlow模型。 為了最好地利用圖形視覺化程式,您應該使用名稱範圍來對圖形中的op進行分層分組,否則圖形可能難以破譯。 有關更多資訊,包括示例,請參閱圖形視覺化程式教程。
HISTOGRAM是訓練過程引數分佈情況顯示。
官方英文翻譯:
直方圖儀表板用於視覺化Tensor的統計分佈隨時間變化。它視覺化通過tf.histogram_summary記錄的資料。現在,它的名字有點不正確,因為它不顯示直方圖;相反,它顯示了一些關於分配的高階統計資料。圖表上的每一行表示資料分佈中的百分位數:例如,底線顯示了最小值隨時間變化的方式,中間的行顯示了中位數的變化。從上到下,行具有以下含義:[最大,93%,84%,69%,50%,31%,16%,7%,最低]。
這些百分位數也可以視為正態分佈的標準偏差邊界:[最大值,μ+1.5σ,μ+σ,μ+0.5σ,μ,μ-0.5σ,μ-σ,μ-1.5σ,最小值]使得從內到外讀取的著色區域分別具有寬度[σ,2σ,3σ]。
這種直方圖視覺化有點奇怪,不能有意義地表示多模態分佈。我們正在研究一個真正的直方圖替換。
官方英文介紹地址:https://github.com/tensorflow/tensorflow/tree/r0.9/tensorflow/tensorboard
注意,本文是在Windows下執行的。
首先我們先寫一個Python程式碼,用來執行顯示圖形層級結構。
"""
Please note, this code is only for python 3+. If you are using python 2+, please modify the code accordingly.
"""
from __future__ import print_function
import tensorflow as tf
def add_layer(inputs, in_size, out_size, activation_function=None):
# add one more layer and return the output of this layer
with tf.name_scope('layer'):
with tf.name_scope('weights'):
Weights = tf.Variable(tf.random_normal([in_size, out_size]), name='W')
with tf.name_scope('biases'):
biases = tf.Variable(tf.zeros([1, out_size]) + 0.1, name='b')
with tf.name_scope('Wx_plus_b'):
Wx_plus_b = tf.add(tf.matmul(inputs, Weights), biases)
if activation_function is None:
outputs = Wx_plus_b
else:
outputs = activation_function(Wx_plus_b, )
return outputs
# define placeholder for inputs to network
with tf.name_scope('inputs'):
xs = tf.placeholder(tf.float32, [None, 1], name='x_input')
ys = tf.placeholder(tf.float32, [None, 1], name='y_input')
# add hidden layer
l1 = add_layer(xs, 1, 10, activation_function=tf.nn.relu)
# add output layer
prediction = add_layer(l1, 10, 1, activation_function=None)
# the error between prediciton and real data
with tf.name_scope('loss'):
loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys - prediction),
reduction_indices=[1]))
with tf.name_scope('train'):
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
sess = tf.Session()
# tf.train.SummaryWriter soon be deprecated, use following
if int((tf.__version__).split('.')[1]) < 12 and int((tf.__version__).split('.')[0]) < 1: # tensorflow version < 0.12
writer = tf.train.SummaryWriter('C:/logs/', sess.graph)
else: # tensorflow version >= 0.12
writer = tf.summary.FileWriter("C:/logs/", sess.graph)
# tf.initialize_all_variables() no long valid from
# 2017-03-02 if using tensorflow >= 0.12
if int((tf.__version__).split('.')[1]) < 12 and int((tf.__version__).split('.')[0]) < 1:
init = tf.initialize_all_variables()
else:
init = tf.global_variables_initializer()
sess.run(init)
# direct to the local dir and run this in terminal:
# $ tensorboard --logdir=logs
然後點選Run執行Python程式碼。
然後CMD開啟命令列終端輸入:
tensorboard --logdir=C:/logs
一切正常的話,我們用chrome瀏覽器開啟這個地址:
http://localhost:6006/
因為我們程式碼只是展示了網路層結構,並沒有資料。所以我們點選GRAPHS進行檢視網路層結構就可以了。
我們的C盤logs下也有相應的日誌檔案。
版權所有,尊重版權。
微信公眾號:
相關文章
- Pytorch使用Tensorboard視覺化網路結構PyTorchORB視覺化
- 在PyTorch中使用tensorboard視覺化PyTorchORB視覺化
- 使用 TensorBoard 視覺化模型、資料和訓練ORB視覺化模型
- 在pytorch上基於tensorboard的訓練過程的視覺化PyTorchORB視覺化
- tensorboard 視覺化的最詳細介紹ORB視覺化
- 【TensorFlow篇】--Tensorflow框架視覺化之Tensorboard框架視覺化ORB
- Docker-視覺化管理工具總結-推薦使用PortainerDocker視覺化AI
- 實驗8-1tensorboard視覺化+實驗8-2tensorboard案例ORB視覺化
- Pytorch網路結構視覺化PyTorch視覺化
- Windows下使用TensorBoard顯示幾個注意點WindowsORB
- MySQL 視覺化管理工具MySql視覺化
- 利用Tensorboard視覺化模型、資料和訓練過程ORB視覺化模型
- 0703-視覺化工具tensorboard和visdom視覺化ORB
- Git--視覺化管理工具-SourceTreeGit視覺化
- 使用Python視覺化Word2vec的結果Python視覺化
- CNN視覺化技術總結(三)--類視覺化CNN視覺化
- VideoPipe視覺化影片結構化框架更新總結(2023-12-5)IDE視覺化框架
- VideoPipe視覺化影片結構化框架更新總結(2023-3-30)IDE視覺化框架
- Vagrant 在 Windows 下的使用Windows
- pytorch模型結構視覺化,可顯示每層的尺寸PyTorch模型視覺化
- 網路拓撲結構視覺化呈現方案視覺化
- k8s視覺化管理工具K8S視覺化
- ElasticSearch(七) Elasticsearch在Centos下搭建視覺化服務ElasticsearchCentOS視覺化
- Tensorboard的使用ORB
- 安裝window下的redis,redis視覺化管理工具(Redis Desktop Manager)安裝,基礎使用,例項化專案Redis視覺化
- nginx在windows下的使用三NginxWindows
- 3款免費又好用的 Docker 視覺化管理工具Docker視覺化
- (11)tensorboard的使用ORB
- 資料視覺化在展館展廳中使用的價值視覺化
- 資料視覺化的知識總結視覺化
- 視覺化資料庫管理工具:SQLPro Studio for Mac視覺化資料庫SQLMac
- Docker視覺化管理工具Shipyard安裝與配置Docker視覺化
- 一文上手 Elasticsearch常用視覺化管理工具Elasticsearch視覺化
- 安裝docker-ui 視覺化docker管理工具DockerUI視覺化
- Tableau視覺化結果的優化小技巧(二)視覺化優化
- tensorboard 使用ORB
- win10 下anaconda TensorFlow tensorboard使用Win10ORB
- 資料視覺化——Matpoltlib庫的使用視覺化
- (在模仿中精進資料視覺化03)OD資料的特殊視覺化方式視覺化