Pytorch中Tensorboard使用


1. 安裝

pip install tensorboard

2. 工作流程

  1. 在代碼中使用writer將需要記錄的內容寫入文件

  2. 在命令行通過tensorboard --logdir path來訪問並顯示文件內容

3. 相關類與函數

3.1 SummaryWriter類

功能:創建一個寫入器,使得可以向文件中寫入events或者summaries

torch.utils.tensorboard.SummaryWriter(log_dir=None,  # event file 存放的目錄,默認為當前目錄下的runs文件夾
                                      comment='',  # 不指定log_dir時,runs文件夾子目錄的后綴
                                      purge_step=None, 
                                      max_queue=10,
                                      flush_secs=120,
                                      filename_suffix='')  # event file文件的后綴

3.2 add_scalar函數

功能:向event文件中寫入標量(一幅圖中只能有一個圖像)

add_scalar(tag,  # 該圖像的標識
	   scalar_value,  # 要寫入的標量值
           global_step=None,  # 可以理解成該標量對應的橫軸的值
	   walltime=None)

3.3 add_scalars函數

功能:add_scalar函數的擴展,即可以在一幅圖中添加多個圖像

add_scalars(main_tag,  # 該圖像的標識
	    tag_scalar_dict,  # 用字典的形式表示多個曲線。key是標量的標識,value是標量的值
	    global_step=None, # 可以理解成標量對應的橫軸的值
	    walltime=None)

4. 具體實現

代碼

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("./logs/test1")
# 畫一幅圖
for x in range(100):
    writer.add_scalar("y=x*x", x*x, x)

writer = SummaryWriter("./logs/test2")
# 在同一個section中畫多幅圖
for x in range(100):
    writer.add_scalar("function/y=x*x", x*x, x)
    writer.add_scalar("function/y=x+10", x+10, x)

writer = SummaryWriter("./logs/test3")
# 在同一個圖中畫多條曲線
for x in range(100):
    writer.add_scalars("Functions", {"y=x": x, "y=x+5": x+5}, x)
    writer.add_scalars("Functions", {"y=x+10": x+10}, x)

命令行

tensorboard --logdir logs

文件目錄結構

Tensorboard畫圖結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM