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 相关文章推荐
DataFrame中的object转换成float的方法
Apr 10 Python
对numpy和pandas中数组的合并和拆分详解
Apr 11 Python
python实现对求解最长回文子串的动态规划算法
Jun 02 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
Jun 27 Python
用Python配平化学方程式的方法
Jul 20 Python
利用python list完成最简单的DB连接池方法
Aug 09 Python
python sorted方法和列表使用解析
Nov 18 Python
PyTorch 普通卷积和空洞卷积实例
Jan 07 Python
Jupyter notebook无法导入第三方模块的解决方式
Apr 15 Python
python的pip有什么用
Jun 17 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
python树莓派通过队列实现进程交互的程序分析
Jul 04 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
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
php不使用插件导出excel的简单方法
2014/03/04 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
php进程间通讯实例分析
2016/07/11 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
Koa项目搭建过程详细记录
2018/04/12 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
2018/10/25 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
python中强大的format函数实例详解
2018/12/05 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
C#笔试题和英文面试题
2013/02/07 面试题
MIS软件工程师的面试题
2016/04/22 面试题
业务经理岗位职责
2013/11/11 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
教师节简报
2015/07/20 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
Windows7下FTP搭建图文教程
2022/08/05 Servers