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统计文件行数示例分享
Feb 21 Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
Python实现购物程序思路及代码
Jul 24 Python
python+pyqt5实现KFC点餐收银系统
Jan 24 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
Apr 16 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 Python
Python坐标线性插值应用实现
Nov 13 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
Jul 28 Python
Python 忽略文件名编码的方法
Aug 01 Python
python 生成正态分布数据,并绘图和解析
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入门学习笔记之一
2010/10/12 PHP
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
JavaScript入门教程(10) 认识其他对象
2009/01/31 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
Javascript动态绑定事件的简单实现代码
2010/12/25 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
几行js代码实现自适应
2017/02/24 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
javascript标准库(js的标准内置对象)总结
2018/05/26 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
python实现教务管理系统
2018/03/12 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
基于Python的PIL库学习详解
2019/05/10 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
2020/07/09 Python
django使用channels实现通信的示例
2020/10/19 Python
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
毕业求职自荐信格式是什么
2013/11/19 职场文书
简单的辞职信范文
2014/01/18 职场文书
商业用房租赁协议书
2014/10/13 职场文书
营销计划书
2015/01/17 职场文书
面试通知邮件
2015/04/20 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS