您好,登錄后才能下訂單哦!
這篇“pytorch SummaryWriter怎么保存日志”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“pytorch SummaryWriter怎么保存日志”文章吧。
在pytorch框架中,關于日志的保存,其中一種方式就是借鑒使用了tensorboard的庫。所以我們需要在環境中安裝tensorboard庫,然后再在工程中進行該庫的調用
安裝:conda install tensorboardX 或者 pip install tensorboardX
導入
from tensorboardX import SummaryWriter writer = SummaryWriter(logPath) ... writer.close()
add_scalar(tag, scalar_value, global_step=None) 從源碼中我們能看到核心的三個參數為前三個。通俗的講分別代表
tag:圖的標簽名,唯一標識
scalar_value:y軸數據,標量數據的具體數值
global_step:x軸數據,要記錄的全局步長值
add_scalars(main_tag, tag_scalar_dit)多項標題記錄方法,其中:
main_tag —— 該圖的標簽
tag_salar_dict —— 字典形式的tag-scalar_value對
源碼中也有例子:
from tensorboardX import SummaryWriter import numpy as np writer = SummaryWriter('run/logs') max_epoch = 100 for x in range(max_epoch): writer.add_scalar('t/y=2x', x * 2, x) #x*2為y軸數據,x為x軸數據 writer.add_scalar('t/y=pow_2_x', 2^x, x) writer.add_scalars('scalar_group', {"xsinx": x * np.sin(x), "xcosx": x * np.cos(x)}, x) writer.close()
運行完該腳本后,運行tensorboard命令:tensorboard --logdir=./run/
在瀏覽器中打開鏈接:【http://localhost:6006/】
從源碼中我們能看到add_image
的主要參數如下。通俗的講分別代表
tag:曲線圖名字,唯一標識
img_tensor:圖片數據,類型要求為 tensor/numpy/string 等
global_step:要記錄的全局步長值
dataformats:圖片輸入的默認維度。注意是"CHW"
from tensorboardX import SummaryWriter import numpy as np img = np.zeros((3, 100, 100)) img[0] = np.arange(0, 10000).reshape(100, 100) / 10000 img[1] = 1 - np.arange(0, 10000).reshape(100, 100) / 10000 img_HWC = np.zeros((100, 100, 3)) img_HWC[:, :, 0] = np.arange(0, 10000).reshape(100, 100) / 10000 img_HWC[:, :, 1] = 1 - np.arange(0, 10000).reshape(100, 100) / 10000 writer = SummaryWriter('run/logs') writer.add_image('my_image', img, 0) # If you have non-default dimension setting, set the dataformats argument. writer.add_image('my_image_HWC', img_HWC, 0, dataformats='HWC') writer.close()
畫直方圖主要為了看參數的分布狀態,使用add_histogram(tag, values, global_step=None, bins=’tensorflow’, walltime=None)
,其中tag, value, global_step的含義同上,示例如下:
# 每個epoch,記錄梯度,權值 for name, param in net.named_parameters(): writer.add_histogram(name + '_grad', param.grad, epoch) writer.add_histogram(name + '_data', param, epoch)
展示結構圖使用add_graph(model, input_to_model=None, verbose=False)
writer = SummaryWriter(comment='test_your_comment', filename_suffix="_test_your_filename_suffix") # 模型 fake_img = torch.randn(1, 3, 32, 32) yolo = Yolo(classes=2) writer.add_graph(yolo, fake_img) writer.close()
以上就是關于“pytorch SummaryWriter怎么保存日志”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。