日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tensorboard--模型可视化工具

發布時間:2023/12/13 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tensorboard--模型可视化工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Tensorboard

  • 1.tensorboard in tensorflow
    • 1.1 tensorboard的啟動過程
    • 1.2 tf.summary 可視化類型
    • 1.3 tf.summary 使用demo
  • 2.tensorboard in pytorch
    • 2.1 SummaryWriter 使用demo

tensorboard in tensorflow :tensorboard 是一套用于tensorflow訓練過程可視化工具,能夠可視化模型的結構,參數,損失函數等。最常用于記錄訓練過程中參數和損失函數值的變化,用來反饋模型性能指標的變化。

TensorBoard github readme–基礎概念、操作,tf.summary.xxx
Get started with TensorBoard–圖像、網絡圖、網絡參數的可視化

tensorboard in pytorch: 有多種方式來使用tensorboard。本文想推薦的是通過 TensorboardX [第三方庫] 來使用tensorboard。底層實際還是tensorflow的tensorboard. 在pytorch 代碼框架下想要使用tensorboard 的話,需安裝以下兩個包。 pip install tensorboardX、pip install tensorflow # cpu 版本即可。

PyTorch 自帶 TensorBoard 使用教程 – from torch.utils.tensorboard import SummaryWriter
PyTorch 使用 TensorboardX 進行網絡可視化–from tensorboardX import SummaryWriter

(pytorch 和 tensorflow 使用tensorboard 之間的差別后續在整理。本文先著重于整理tensor low中tensor board的使用。)

從標黃的三個地方可以看出,Summary這個對象蠻重要的。

1.tensorboard in tensorflow

1.1 tensorboard的啟動過程

# 1.創建writer,用于寫日志文件 writer=tf.summary.FileWriter('/path/to/logs', tf.get_default_graph()) # 2.保存日志文件 writer.close() # 3.運行可視化命令,啟動服務 tensorboard –logdir /path/to/logs # 4.打開可視化界面 通過瀏覽器打開服務器訪問端口http://xxx.xxx.xxx.xxx:6006

參考文檔–Tensorboard 詳解(上篇)

1.2 tf.summary 可視化類型

Tensorboard 需要將可視化的數據存盤,這些數據來自 summary操作[summary ops]。 summary操作和tensorflow的其他ops性質是一致的,它能夠產生序列化的protobufs數據,然后使用summary.FileWriter寫入磁盤。

tensorboard支持以下操作,也就是tensor board能夠可視化的對象類型。

tf.summary.FileWriter() # 指定一個文件用來保存圖,可以調用其add_summary()方法將訓練過程數據保存在filewriter指定的文件中,詳見使用demo tf.summary.scalar # 用于追蹤模型的loss, tf.summary.image tf.summary.audio tf.summary.text tf.summary.histogram tf.summary.merge_all # 可以將所有summary全部保存到磁盤

tf.summary.scalar、tf.summary.histogram
建議給每類數據賦予一個tag, scalar 和 histogram 的標簽里如果有/, 這些數據在存儲的時候會存入對應的目錄文件中。

1.3 tf.summary 使用demo

自動管理: tf.summary.merge_all(),猜測是直接將訓練輸出到tensor board中

summary_writer = tf.summary.FileWriter(dir, flush_secs=60) summary_writer.add_graph(sess.graph) #添加graph圖 tf.summary.scalar('loss', loss) tf.summary.scalar('accuracy', accuracy) sum_ops = tf.summary.merge_all() #自動管理,就是說要算loss 和 accuracy 唄 metall = sess.run(sum_ops, feed_dict={X: batch_x_test, Y: batch_y_test, keep_prob: 1.}) summary_writer.add_summary(metall, global_step=step) # 寫入文件

手動管理:

summary_writer = tf.summary.FileWriter(dir', flush_secs=60) summary_writer.add_graph(sess.graph) #添加graph圖 loss_scalar = tf.summary.scalar('loss', loss) accuracy_scalar = tf.summary.scalar('accuracy', accuracy) loss_metall, accuracy_metall, = sess.run([loss_scalar, accuracy_scalar], feed_dict={X: batch_x_test, Y: batch_y_test, keep_prob: 1.}) summary_writer.add_summary(loss_metall, global_step=step) # 寫入文件 summary_writer.add_summary(accuracy_metall, global_step=step) # 寫入文件

參考文檔:
Tensorflow學習筆記——Summary用法
tf.summary.merge_all()

構建更復雜的圖的代碼demo

2.tensorboard in pytorch

2.1 SummaryWriter 使用demo

from tensorboardX import SummaryWriter writer1 = SummaryWriter('runs/exp') # 日志保存在‘runs/exp’路徑下 writer2 = SummaryWriter() # 默認將使用‘runs/日期時間’路徑來保存日志 writer3 = SummaryWriter(comment='resnet') # 使用 runs/日期時間-comment 路徑來保存日志# 調用 SummaryWriter 實例的各種 add_something 方法向日志中寫入不同類型的數據# 標量 writer1.add_scalar(tag, scalar_value, global_step=None, walltime=None) # tag 子圖標識。相同tag的saclar被放在了同一張圖表中,方便對比觀察 # scalar_value 要求float類型。如果是tensor,則需要調用.item() 方法獲取其數值。# 圖像 writer1.add_image(tag, img_tensor, global_step=None, walltime=None, dataformats='CHW') # img_tensor (torch.Tensor / numpy.array): 圖像數據 # dataformats (string, optional): 圖像數據的格式# 直方圖 writer1.add_histogram(tag, values, global_step=None, bins='tensorflow', walltime=None, max_bins=None) # values (torch.Tensor, numpy.array, or string/blobname): 用來構建直方圖的數據# 網絡結構 writer1.add_graph(model, input_to_model=None, verbose=False, **kwargs) # model (torch.nn.Module): 待可視化的網絡模型 # input_to_model (torch.Tensor or list of torch.Tensor, optional): 待輸入神經網絡的變量或一組變量# 嵌入向量 (embedding),作用:高維特征使用PCA、t-SNE等方法降維至二維平面或三維空間顯示,還可觀察每一個數據點在降維前的特征空間的K近鄰情況。 writer1.add_embedding(mat, metadata=None, label_img=None, global_step=None, tag='default', metadata_header=None) # 可以運行一下參考論文中的demo 加深印象

參考論文:
詳解PyTorch項目使用TensorboardX進行訓練可視化

總結

以上是生活随笔為你收集整理的Tensorboard--模型可视化工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。