教你如何在Pytorch中使用TensorBoard
什么是TensorboardX
Tensorboard 是 TensorFlow 的一個(gè)附加工具,可以記錄訓(xùn)練過(guò)程的數(shù)字、圖像等內(nèi)容,以方便研究人員觀察神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程??墒菍?duì)于 PyTorch 等其他神經(jīng)網(wǎng)絡(luò)訓(xùn)練框架并沒(méi)有功能像 Tensorboard 一樣全面的類似工具,一些已有的工具功能有限或使用起來(lái)比較困難 (tensorboard_logger, visdom等) 。TensorboardX 這個(gè)工具使得 TensorFlow 外的其他神經(jīng)網(wǎng)絡(luò)框架也可以使用到 Tensorboard 的便捷功能。TensorboardX 的 github倉(cāng)庫(kù)在這里。
TensorboardX 的文檔相對(duì)詳細(xì),但大部分缺少相應(yīng)的示例。本文是對(duì)TensorboardX 各項(xiàng)功能的完整介紹,每項(xiàng)都包含了示例,給出了可視化效果,希望可以方便大家的使用。筆者水平有限,還請(qǐng)讀者們斧正,相關(guān)問(wè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 "./"
瀏覽器中輸入查看的地址
http://127.0.0.1:6006/
額外知識(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)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。