教你如何在Pytorch中使用TensorBoard
什么是TensorboardX
Tensorboard 是 TensorFlow 的一個(gè)附加工具,可以記錄訓(xùn)練過程的數(shù)字、圖像等內(nèi)容,以方便研究人員觀察神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程??墒菍?duì)于 PyTorch 等其他神經(jīng)網(wǎng)絡(luò)訓(xùn)練框架并沒有功能像 Tensorboard 一樣全面的類似工具,一些已有的工具功能有限或使用起來比較困難 (tensorboard_logger, visdom等) 。TensorboardX 這個(gè)工具使得 TensorFlow 外的其他神經(jīng)網(wǎng)絡(luò)框架也可以使用到 Tensorboard 的便捷功能。TensorboardX 的 github倉庫在這里。
TensorboardX 的文檔相對(duì)詳細(xì),但大部分缺少相應(yīng)的示例。本文是對(duì)TensorboardX 各項(xiàng)功能的完整介紹,每項(xiàng)都包含了示例,給出了可視化效果,希望可以方便大家的使用。筆者水平有限,還請(qǐng)讀者們斧正,相關(guān)問題可以在留言區(qū)提出,我盡量解答。
TensorBoard是TensorFlow中強(qiáng)大的可視化工具
安裝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()
運(yùn)行完,會(huì)保存在當(dāng)前目錄的runs文件底下。
查看結(jié)果
# cd 到當(dāng)前的工作目錄下,如: cd 19RNN\predrnn-pytorch-master\predrnn-pytorch-master # 運(yùn)行 tensorboard tensorboard --logdir "./"
瀏覽器中輸入查看的地址
額外知識(shí)點(diǎn):
(1)writer.add_scalar()
功能:將標(biāo)量添加到 summary
參數(shù):
tag (string):數(shù)據(jù)標(biāo)識(shí)符
scalar_value (float or string/blobname):要保存的數(shù)值
global_step (int):全局步值
walltime (float):可選參數(shù),用于記錄發(fā)生的時(shí)間,默認(rèn)為 time.time()
(2)writer.add_scalars()
功能:添加多個(gè)標(biāo)量數(shù)據(jù)到 summary 中
參數(shù):
main_tag (string):tag 的父級(jí)名稱
tag_scalar_dict (dict):保存 tag 及相應(yīng)的值的鍵值對(duì)
global_step (int):全局步值
walltime (float) 可選參數(shù),可選參數(shù),用于記錄發(fā)生的時(shí)間,默認(rèn)為 time.time()
兩者區(qū)別
writer.add_scalar() 添加一個(gè)標(biāo)量到 summary
writer.add_scalars() 可以同時(shí)添加多個(gè)標(biāo)量到 summary 中,多個(gè)標(biāo)量需要使用鍵值對(duì)的形式輸入
兩者共同點(diǎn)
第一個(gè)參數(shù)可簡(jiǎn)單理解為保存到 tensorboard 日志文件中的標(biāo)量圖像的名稱
第二個(gè)參數(shù)可簡(jiǎn)單理解為圖像的 y 軸數(shù)據(jù)
第三個(gè)參數(shù)可簡(jiǎn)單理解為圖像的 x 軸數(shù)據(jù)
第四個(gè)參數(shù)都是可選參數(shù),用于記錄發(fā)生的時(shí)間,默認(rèn)為 time.time()
到此這篇關(guān)于教你如何在Pytorch中使用TensorBoard的文章就介紹到這了,更多相關(guān)Pytorch使用TensorBoard內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法
下面小編就為大家?guī)硪黄猵ython 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06python實(shí)現(xiàn)文件分組復(fù)制到不同目錄的例子
這篇文章主要介紹了python實(shí)現(xiàn)文件按組復(fù)制到不同目錄的例子,需要的朋友可以參考下2014-06-06python爬蟲把url鏈接編碼成gbk2312格式過程解析
這篇文章主要介紹了python爬蟲把url鏈接編碼成gbk2312格式過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Python語言實(shí)現(xiàn)科學(xué)計(jì)算器
這篇文章主要為大家詳細(xì)介紹了Python語言實(shí)現(xiàn)科學(xué)計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01python利用appium實(shí)現(xiàn)手機(jī)APP自動(dòng)化的示例
這篇文章主要介紹了python利用appium實(shí)現(xiàn)手機(jī)APP自動(dòng)化的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01JupyterNotebook設(shè)置Python環(huán)境的方法步驟
這篇文章主要介紹了JupyterNotebook設(shè)置Python環(huán)境的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Python使用mmap實(shí)現(xiàn)內(nèi)存映射文件操作
內(nèi)存映射通??梢蕴岣逫/O的性能,本文主要介紹了Python使用mmap實(shí)現(xiàn)內(nèi)存映射文件操作,分享給大家,感興趣的可以了解一下2021-06-06