1. 安裝
pip install tensorboard
2. 工作流程
-
在代碼中使用
writer
將需要記錄的內容寫入文件 -
在命令行通過
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畫圖結果
