教你如何在Pytorch中使用TensorBoard
什么是TensorboardX
Tensorboard 是 TensorFlow 的一個附加工具,可以記錄訓(xùn)練過程的數(shù)字、圖像等內(nèi)容,以方便研究人員觀察神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程。可是對于 PyTorch 等其他神經(jīng)網(wǎng)絡(luò)訓(xùn)練框架并沒有功能像 Tensorboard 一樣全面的類似工具,一些已有的工具功能有限或使用起來比較困難 (tensorboard_logger, visdom等) 。TensorboardX 這個工具使得 TensorFlow 外的其他神經(jīng)網(wǎng)絡(luò)框架也可以使用到 Tensorboard 的便捷功能。TensorboardX 的 github倉庫在這里。
TensorboardX 的文檔相對詳細(xì),但大部分缺少相應(yīng)的示例。本文是對TensorboardX 各項功能的完整介紹,每項都包含了示例,給出了可視化效果,希望可以方便大家的使用。筆者水平有限,還請讀者們斧正,相關(guān)問題可以在留言區(qū)提出,我盡量解答。
TensorBoard是TensorFlow中強大的可視化工具
安裝TensorBoard
pip install tensorboard
pip install future
代碼演示
import numpy as np
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter(comment='test_tensorboard')
for x in range(100):
writer.add_scalar('y=2x', x * 2, x)
writer.add_scalar('y=pow(2, x)', 2 ** x, x)
writer.add_scalars('data/scalar_group', {"xsinx": x * np.sin(x),
"xcosx": x * np.cos(x),
"arctanx": np.arctan(x)}, x)
writer.close()
運行完,會保存在當(dāng)前目錄的runs文件底下。

查看結(jié)果
# cd 到當(dāng)前的工作目錄下,如: cd 19RNN\predrnn-pytorch-master\predrnn-pytorch-master # 運行 tensorboard tensorboard --logdir "./"
瀏覽器中輸入查看的地址

額外知識點:
(1)writer.add_scalar()
功能:將標(biāo)量添加到 summary
參數(shù):
tag (string):數(shù)據(jù)標(biāo)識符
scalar_value (float or string/blobname):要保存的數(shù)值
global_step (int):全局步值
walltime (float):可選參數(shù),用于記錄發(fā)生的時間,默認(rèn)為 time.time()
(2)writer.add_scalars()
功能:添加多個標(biāo)量數(shù)據(jù)到 summary 中
參數(shù):
main_tag (string):tag 的父級名稱
tag_scalar_dict (dict):保存 tag 及相應(yīng)的值的鍵值對
global_step (int):全局步值
walltime (float) 可選參數(shù),可選參數(shù),用于記錄發(fā)生的時間,默認(rèn)為 time.time()
兩者區(qū)別
writer.add_scalar() 添加一個標(biāo)量到 summary
writer.add_scalars() 可以同時添加多個標(biāo)量到 summary 中,多個標(biāo)量需要使用鍵值對的形式輸入
兩者共同點
第一個參數(shù)可簡單理解為保存到 tensorboard 日志文件中的標(biāo)量圖像的名稱
第二個參數(shù)可簡單理解為圖像的 y 軸數(shù)據(jù)
第三個參數(shù)可簡單理解為圖像的 x 軸數(shù)據(jù)
第四個參數(shù)都是可選參數(shù),用于記錄發(fā)生的時間,默認(rèn)為 time.time()
到此這篇關(guān)于教你如何在Pytorch中使用TensorBoard的文章就介紹到這了,更多相關(guān)Pytorch使用TensorBoard內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中l(wèi)xml.etree 和 ElementTree 的區(qū)別解析
lxml.etree 提供了更多的功能,例如 XPath、XSLT、Relax NG、 和 XML 模式支持,etree 對 Python unicode 字符串的想法與 ElementTree 不同,本文給大家介紹python中l(wèi)xml.etree 和 ElementTree 的區(qū)別,感興趣的朋友一起看看吧2024-01-01
Python使用DeepSeek進(jìn)行聯(lián)網(wǎng)搜索功能詳解
Python作為一種非常流行的編程語言,結(jié)合DeepSeek這一高性能的深度學(xué)習(xí)工具包,可以方便地處理各種深度學(xué)習(xí)任務(wù),本文將介紹一下如何使用Python和DeepSeek進(jìn)行聯(lián)網(wǎng)搜索,感興趣是可以了解下2025-03-03
Python可視化學(xué)習(xí)之seaborn繪制矩陣圖詳解
矩陣圖即用一張圖繪制多個變量之間的關(guān)系,數(shù)據(jù)挖掘中常用于初期數(shù)據(jù)探索。本文介紹python中seaborn.pairplot和seaborn.PairGrid繪制矩陣圖,需要的可以參考一下2022-02-02
Python報錯TypeError: ‘dict‘ object is not&
在Python開發(fā)的旅程中,報錯信息就像是一個個路障,阻礙著我們前進(jìn)的步伐,而“TypeError: ‘dict’ object is not iterable”這個報錯,常常讓開發(fā)者們陷入困惑,那么,這個報錯究竟是怎么產(chǎn)生的呢?又該如何有效地解決它呢?讓我們一起深入探討,找到解決問題的方法2024-10-10

