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批量同步web服务器代码核心程序
Sep 01 Python
Python实现国外赌场热门游戏Craps(双骰子)
Mar 31 Python
python 链接和操作 memcache方法
Mar 04 Python
Python从Excel中读取日期一列的方法
Nov 28 Python
创建Shapefile文件并写入数据的例子
Nov 26 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
Mar 30 Python
pyecharts调整图例与各板块的位置间距实例
May 16 Python
一文读懂Python 枚举
Aug 25 Python
python3.8动态人脸识别的实现示例
Sep 21 Python
Python getsizeof()和getsize()区分详解
Nov 20 Python
python爬虫如何解决图片验证码
Feb 14 Python
Python可视化学习之seaborn调色盘
Feb 24 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 程序员应该使用的10个组件
2009/10/31 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
php加密算法之实现可逆加密算法和解密分享
2014/01/21 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
php微信支付之公众号支付功能
2018/05/30 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
javascript中检测变量的类型的代码
2010/12/28 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
elementui的默认样式修改方法
2018/02/23 Javascript
vue 组件中slot插口的具体用法
2018/04/03 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
python 文件查找及内容匹配方法
2018/10/25 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
基于Django集成CAS实现流程详解
2020/11/28 Python
深入了解canvas在移动端绘制模糊的问题解决
2019/04/30 HTML / CSS
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
中医药大学毕业生自荐信
2013/11/08 职场文书
公司部门司机岗位职责
2014/01/03 职场文书
阳光体育活动方案
2014/02/16 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
自主招生学校推荐信范文
2015/03/26 职场文书
董事长秘书工作总结
2015/08/14 职场文书
Python可视化学习之seaborn调色盘
2022/02/24 Python
java获取一个文本文件的编码(格式)信息
2022/09/23 Java/Android