pytorch使用tensorboardX进行loss可视化实例


Posted in Python onFebruary 24, 2020

最近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,就可以在浏览器看到各种结果,而不必再进行不同的端口映射

pytorch使用tensorboardX进行loss可视化实例

比如上面这个,我的resnet文件夹下有不同的我writer写入的文件,在父目录下启动tensorboard之后,

pytorch使用tensorboardX进行loss可视化实例

没毛病!

补充拓展: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

以上这篇pytorch使用tensorboardX进行loss可视化实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python益智游戏计算汉诺塔问题示例
Mar 05 Python
机器学习python实战之手写数字识别
Nov 01 Python
[原创]教女朋友学Python(一)运行环境搭建
Nov 29 Python
python3爬取各类天气信息
Feb 24 Python
python读文件保存到字典,修改字典并写入新文件的实例
Apr 23 Python
解决python字典对值(值为列表)赋值出现重复的问题
Jan 20 Python
Django框架登录加上验证码校验实现验证功能示例
May 23 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
python科学计算之narray对象用法
Nov 25 Python
PyTorch使用cpu加载模型运算方式
Jan 13 Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 Python
python编写一个会算账的脚本的示例代码
Jun 02 Python
python绘制动态曲线教程
Feb 24 #Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
Feb 23 #Python
Windows系统下pycharm中的pip换源
Feb 23 #Python
推荐8款常用的Python GUI图形界面开发框架
Feb 23 #Python
PyQt5高级界面控件之QTableWidget的具体使用方法
Feb 23 #Python
PyQt5中QTableWidget如何弹出菜单的示例代码
Feb 23 #Python
Python requests设置代理的方法步骤
Feb 23 #Python
You might like
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
完美解决PHP中文乱码
2009/11/26 PHP
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
浅析vue中的nextTick
2020/12/28 Vue.js
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
python计算无向图节点度的实例代码
2019/11/22 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
用python计算文件的MD5值
2020/12/23 Python
css3中用animation的steps属性制作帧动画
2019/04/25 HTML / CSS
cf搞笑广告词
2014/03/14 职场文书
感恩的演讲稿
2014/05/06 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
甘南现象心得体会
2014/09/11 职场文书
普通党员四风问题对照检查材料
2014/09/27 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
乡镇三严三实学习心得体会
2014/10/13 职场文书
户外亲子活动总结
2015/05/08 职场文书
工作犯错保证书
2015/05/11 职场文书
七年级数学教学反思
2016/02/17 职场文书
Python连续赋值需要注意的一些问题
2021/06/03 Python