PyTorch 實(shí)現(xiàn)可視化需要借助 TensorBoard 包儡蔓。
參考:https://pytorch.org/docs/stable/tensorboard.html
安裝
pip install tensorboard
使用
通過如下代碼進(jìn)行記錄:
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter() # 實(shí)例化一個(gè) SummaryWriter喂江,無參數(shù)輸入則默認(rèn)保存在py文件同級目錄下;也可以在括號中指定保存路徑
writer.add_scalars(main_tag, tag_scalar_dict, global_step=None, walltime=None) # 標(biāo)量可視化
writer.add_histogram(tag, values, global_step=None, bins='tensorflow', walltime=None, max_bins=None) # 直方圖可視化
writer.add_image(tag, img_tensor, global_step=None, walltime=None, dataformats='CHW') # 圖片可視化
writer.add_figure(tag, figure, global_step=None, close=True, walltime=None) # matplotlib 繪圖可視化
writer.add_video(tag, vid_tensor, global_step=None, fps=4, walltime=None) # 視頻可視化涨岁,需要有 moviepy 包
writer.add_audio(tag, snd_tensor, global_step=None, sample_rate=44100, walltime=None) # 音頻可視化
writer.add_text(tag, text_string, global_step=None, walltime=None) # 文本可視化
writer.add_graph(model, input_to_model=None, verbose=False) # 計(jì)算圖可視化
writer.add_hparams(hparam_dict=None, metric_dict=None) # 超參數(shù)可視化
...
writer.close()
通過在系統(tǒng)命令控制窗口輸入:
tensorboard --logdir=E:\jupyter-notebook\2020_DeepLearning\code_trainning\runs
可打開 tensorboard 面板進(jìn)行查看梢薪。
tensorboard 面板
注:E:\jupyter-notebook\2020_DeepLearning\code_trainning\runs
為我的py文件的同級目錄文件夾秉撇。
示例1:顯示計(jì)算圖
import torch
import torch.nn.functional as F
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter()
# 生成輸入數(shù)據(jù)
x = torch.unsqueeze(torch.linspace(-1,1,100),dim=1) # x data(tensor),shape=(100,1)
#搭建神經(jīng)網(wǎng)絡(luò)
class Net(torch.nn.Module):
def __init__(self, n_feature, n_hidden, n_output):
super(Net, self).__init__()
self.hidden = torch.nn.Linear(n_feature,n_hidden)
self.predict = torch.nn.Linear(n_hidden,n_output)
def forward(self,x):
x = F.relu(self.hidden(x))
x = self.predict(x)
return x
net = Net(n_feature=1,n_hidden=10,n_output=1)
# 寫入 SummaryWriter
writer.add_graph(net, x) # 計(jì)算圖可視化
writer.close()
通過在系統(tǒng)命令控制窗口輸入:
tensorboard --logdir=E:\jupyter-notebook\2020_DeepLearning\code_trainning\runs
打開 tensorboard 面板畜疾。
計(jì)算圖