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中的实例方法、静态方法、类方法、类变量和实例变量浅析
Apr 26 Python
python实现在目录中查找指定文件的方法
Nov 11 Python
在Python中操作字符串之rstrip()方法的使用
May 19 Python
Python实现多线程抓取妹子图
Aug 08 Python
Python中内置数据类型list,tuple,dict,set的区别和用法
Dec 14 Python
常见的python正则用法实例讲解
Jun 21 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
Feb 07 Python
Django教程笔记之中间件middleware详解
Aug 01 Python
python单线程下实现多个socket并发过程详解
Jul 27 Python
python爬虫 urllib模块反爬虫机制UA详解
Aug 20 Python
python实现处理mysql结果输出方式
Apr 09 Python
python statsmodel的使用
Dec 21 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动态生成javascript文件的2个例子
2014/04/11 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
纯CSS3实现质感细腻丝滑按钮
2021/03/09 HTML / CSS
javascript 有趣而诡异的数组
2009/04/06 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
2010/03/21 Javascript
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
NodeJS制作爬虫全过程
2014/12/22 NodeJs
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
浅谈javascript中的constructor
2016/06/08 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
JS常用正则表达式超全集(密码强度校验,金额校验,IE版本,IPv4,IPv6校验)
2020/02/03 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
python读取二进制mnist实例详解
2017/05/31 Python
python中os和sys模块的区别与常用方法总结
2017/11/14 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
css3 中translate和transition的使用方法
2020/03/26 HTML / CSS
HTML5标签小集
2011/08/02 HTML / CSS
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
养殖人员的创业计划书范文
2013/12/26 职场文书
便利店投资的创业计划书
2014/01/12 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
政府信息公开实施方案
2014/05/09 职场文书
2015年保送生自荐信
2015/03/24 职场文书
管理失职检讨书范文
2015/05/05 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS