pytorch使用tensorboardX进行loss可视化实例
作者:YongjieShi 时间:2021-04-07 20:17:36
最近pytorch出了visdom,也没有怎么去研究它,主要是觉得tensorboardX已经够用,而且用起来也十分的简单
pip install tensorboardX
然后在代码里导入
from tensorboardX import SummaryWriter
然后声明一下自己将loss写到哪个路径下面
writer = SummaryWriter('./log')
然后就可以愉快的写loss到你得这个writer了
niter = epoch * len(train_loader) + i
writer.add_scalars(args.result_path + 'Train_val_loss', {args.result_path+'train_loss': loss.data.item()}, niter)
其中,add_scalars是将不同得变量添加到同一个图下,图的名称是add_scalars得第一个变量
然后为这个图中不同得曲线添加不同得标题,上面这一行代码
writer.add_scalars(args.result_path + 'Train_val_loss', {args.result_path+'train_loss': loss.data.item()}, niter)
后面得dict中得key是曲线的名称,后面的value是对应得append的值,再后面得niter是x坐标,这句话得意思就相当于,对于图名称为args.result_path + 'Train_val_loss'的图,对曲线名称为args.result_path+'train_loss'添加新的点,这个点为(niter, loss.data.item())
同样的,我可以画出val的loss
niter = epoch * len(train_loader) + i
writer.add_scalars(args.result_path + 'Train_val_loss', {args.result_path+'val_loss': mean_loss}, niter)
writer保存到了我们刚刚声明的路径'./log‘下面,然后终端启动tensorboard
tensorboard --logdir ./log --port 8890
不会用得进行tensorboard --help即可
然后进行端口映射就行了
实际上在使用的过程中,我发现了,如果你要保存的结果在各个子文件夹内,然后你在父文件夹运行tensorboard,就可以在浏览器看到各种结果,而不必再进行不同的端口映射
比如上面这个,我的resnet文件夹下有不同的我writer写入的文件,在父目录下启动tensorboard之后,
没毛病!
补充拓展:pytorch产生loss的计算图代码
废话不多说,直接上代码
import torch.nn as nn
import torch.nn.functional as F
class Net(nn.Module):
def __init__(self):
super(Net,self).__init__()
self.conv1=nn.Conv2d(1,6,5)
self.conv2=nn.Conv2d(6,16,5)
self.fc1=nn.Linear(16*5*5,120)
self.fc2=nn.Linear(120,84)
self.fc3=nn.Linear(84,10)
def forward(self,x):
x=F.max_pool2d(F.relu(self.conv1(x)),(2,2))
x=F.max_pool2d(F.relu(self.conv2(x)),2)
x=x.view(x.size()[0],-1)
print(x)
x=F.relu(self.fc1(x))
x=F.relu(self.fc2(x))
x=self.fc3(x)
return x
net=Net()
#params=list(net.parameters())
#for name,parameters in net.named_parameters():
# print(name,':',parameters.size())
#print(len(params))
#print(net)
input=Variable(t.randn(1,1,32,32))
output=net(input)
#out.size()
target=Variable(t.arange(0,10))
criterion=nn.MSELoss()
loss=criterion(output,target)
loss.grad_fn
来源:https://blog.csdn.net/u013517182/article/details/93043942
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python使用imap-tools模块下载邮件附件的示例
windows环境中利用celery实现简单任务队列过程解析
![](https://img.aspxhome.com/file/2023/1/102931_0s.png)
python+jinja2实现接口数据批量生成工具
![](https://img.aspxhome.com/file/2023/4/84944_0s.png)
编写兼容IE和FireFox的脚本
JS实现动画中的布局转换
![](https://img.aspxhome.com/file/2023/8/56268_0s.gif)
JavaScript 全半角转换
Python中IPYTHON入门实例
Pytorch中使用TensorBoard详情
![](https://img.aspxhome.com/file/2023/3/115423_0s.gif)
python 基于空间相似度的K-means轨迹聚类的实现
![](https://img.aspxhome.com/file/2023/4/90294_0s.png)
sqlserver 数据库学习笔记
15个短代码示例理解python丰富的编程思维
Python3 导入上级目录中的模块实例
Oracle9i 动态SGA,PGA特性探索
Linux下Python安装完成后使用pip命令的详细教程
![](https://img.aspxhome.com/file/2023/6/72926_0s.png)
javascript操作ASP.NET服务器控件
Python3.5装饰器原理及应用实例详解
![](https://img.aspxhome.com/file/2023/1/63961_0s.png)
Python实现在Linux系统下更改当前进程运行用户
Pytorch 如何实现LSTM时间序列预测
![](https://img.aspxhome.com/file/2023/9/121509_0s.jpg)