pytorch使用tensorboardX进行loss可视化实例
最近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,就可以在浏览器看到各种结果,而不必再进行不同的端口映射
比如上面这个,我的resnet文件夹下有不同的我writer写入的文件,在父目录下启动tensorboard之后,
没毛病!
补充拓展: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使用seaborn绘图直方图displot,密度图,散点图
这篇文章主要介绍了python使用seaborn绘图直方图displot,密度图,散点图,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下2022-07-07关于Django框架的关系模型序列化和一对多关系中的序列化解析
序列化的意思是把字典的形式转化成Json格式。当我们展示数据的时候需要使用,反序列化的话,就是Json转成字典形式,存储数据时候使用,需要的朋友可以参考下2023-05-05获取python运行输出的数据并解析存为dataFrame实例
这篇文章主要介绍了获取python运行输出的数据并解析存为dataFrame实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-07-07Pycharm使用Database Navigator连接mysql数据库全过程
这篇文章主要介绍了Pycharm使用Database Navigator连接mysql数据库全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-07-07python的staticmethod与classmethod实现实例代码
这篇文章主要介绍了python的staticmethod与classmethod实现实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下2018-02-02Python 12306抢火车票脚本 Python京东抢手机脚本
这篇文章主要为大家详细介绍了Python 12306抢火车票脚本和Python京东抢手机脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-02-02
最新评论