add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX
Pytorch学习记录-Pytorch可视化使用tensorboardX
在很早很早以前(至少一个半月),我做过几节关于tensorboard的学习记录。
https://www.jianshu.com/p/23205a7921cd
https://www.jianshu.com/p/6235c1ecde67
https://www.jianshu.com/p/2b24454b0629
https://www.jianshu.com/p/0080047e5456
迟迟没有转到Pytorch的原因也是tensorflow的可视化做的好,不过现在Pytorch也支持了,在教程里有,学习一个。
在本教程中,使用简单的神经网络实现MNIST分类器,并使用TensorBoard可视化训练过程。在训练阶段,我们通过scalar_summary绘制损失和准确度函数,并通过image_summary可视化训练图像。此外,我们使用histogram_summary可视化神经网络参数的权重和梯度值。
pytorch使用tensorboard有三种方法:
昨天看了一下余霆嵩的教程,推荐使用tensorboardX,使用比logger更方便一些。
注意看注释就行了,这里我没有生成更复杂的直方图,仅仅记录了Loss、Accuracy、Graph
import torchimport torch.nn as nnimport torchvisionfrom torchvision import transformsfrom logger import Loggerfrom tensorboardX import SummaryWriter 加载SummaryWriter,设置保存地址。writer = SummaryWriter('./logs')# Device configurationdevice = torch.device('cuda' if torch.cuda.is_available() else 'cpu') MNIST datasetdataset = torchvision.datasets.MNIST(root='./data', train=True, transform=transforms.ToTensor(), download=True)#Data loaderdata_loader = torch.utils.data.DataLoader(dataset=dataset, batch_size=100, shuffle=True)# lly connected neural network with one hidden layerclass NeuralNet(nn.Module): def __init__(self, input_size=784, hidden_size=500, num_classes=10): super(NeuralNet, self).__init__() self.fc1 = nn.Linear(input_size, hidden_size) self.relu = nn.ReLU() self.fc2 = nn.Linear(hidden_size, num_classes) df forward(self, x): out = self.fc1(x) out = self.relu(out) out = self.fc2(out) return outmodel NeuralNet().to(device)# 损失函数和化器criterion = nn.CrossEntropyLoss()optimizer = torch.optim.Adam(model.parameters(), lr=0.00001)data_iter= iter(data_loader)iter_per_epoch = len(data_loader)total_step = 10000# Start tainingfor step in range(total_step): # Resetthe data_iter if (step + 1) % iter_per_epoch == 0: data_iter = iter(data_loader) # Fetchimages and labels images, labels = next(data_iter) # view作用是将多行tensor拼接为一行,reshape张量形状,如果你不知道你想要多少行,但确定列数,那么你可以将行数设置为-1(同样,不知道多少列,可以将列数设为-1) # size获取images的信息(行数,列数) images, labels = images.view(images.size(0), -1).to(device), labels.to(device) writer.add_graph(model, (images,)) # Forward pass outputs = model(images) loss = criterion(outputs, labels) writer.add_scalar('Loss', loss, step + 1) # Backwar and optimize optimizer.zero_grad() loss.backward() optimizer.step() # Computeaccuracy _, argmax = torch.max(outputs, 1) accuracy = (labels == argmax.squeeze()).float().mean() writer.add_scalar('accuracy', accuracy, step + 1) if (step + ) % 100 == 0: print('Step [{}/{}], Loss: {:.4f}, Acc: {:.2f}'.format(step + 1, total_step, loss.item(), accuracy.item()))
搞定之后会在文件列表里看到一个logs文件夹,记录就在里面。
在根目录下命令行输入
tensorboard --logidr logs
得到反馈后在浏览器输入"http://localhost:6006"就可以进入tensorboard。
add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX相关推荐
- PyTorch学习记录——PyTorch进阶训练技巧
PyTorch学习记录--PyTorch进阶训练技巧 1.自定义损失函数 1.1 以函数的方式定义损失函数 1.2 以类的方式定义损失函数 1.3 比较与思考 2.动态调整学习率 2.1 官方提供的s ...
- Matlab函数功能学习记录(1)
初学乍练之作 优秀的Matlab讲解: 博客园 Matlab - 基础知识 csdn matlab库函数大全 my Matlab函数功能学习记录(2) Matlab特殊字符.命令和函数 Matlab实 ...
- PyTorch 可视化工具 TensorboardX
可视化教程 使用步骤 1. 导入包 2. 添加标量.模型图 所遇到问题 只显示 scalar,不显示 graph 解决办法 使用步骤 1. 导入包 from tensorboardX import S ...
- add函数 pytorch_Pytorch的高级训练,数据增强和实用程序 - pytorch中文网
v0.1.3 JUST RELEASED - 包含显着的改进,错误修复和额外的支持.从版本中获取,或者拉主分支. 这个包提供了几件事情: 具有回调,约束和正则化程序的类似Keras的训练的高级模块. ...
- oracle生成主键函数,Oracle学习记录之使用自定义函数和触发器实现主键动态生成...
很早就想自己写写Oracle的函数和触发器,最近一个来自课本的小案例给了我这个机会.现在把我做的东西记录下来,作为一个备忘或者入门的朋友们的参考. 案例介绍: 招投标管理系统(数据库设计). 数据表有 ...
- PyTorch学习记录——PyTorch生态
Pytorch的强大并不仅局限于自身的易用性,更在于开源社区围绕PyTorch所产生的一系列工具包(一般是Python package)和程序,这些优秀的工具包极大地方便了PyTorch在特定领域的使 ...
- mysql navicat创建函数_MySQL 学习记录
1.入门 1.1 什么是数据库? 简单的说,数据库(英文Database)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织.存储的,我们可以通过 ...
- 学习记录——Pytorch模型移植Android小例子
提示:注意文章时效性,2022.04.02. 目录 前言 零.使用的环境 一.模型准备 1.导出模型 2.错误记录 2.1要载入完整模型(网络结构+权重参数) 2.2导出的模型文件格式 二.Andro ...
- add函数 pytorch_pytorch常用函数
目录 自动求导 #encoding=utf8import torch from torch.autograd import Variable x = Variable(torch.Tensor([2] ...
最新文章
- (2)iOS用UICollectionView实现Gallery效果
- 整理一份详细的数据预处理方法
- Windows10看视频出现蓝屏重启
- python nDPI 流量分析框架 Nfstream 简介
- python3 修改字符串的四种方法 错误 'str' object does not support item assignment 解决方法
- jboss中控制台jmx-console 登录的用户名和密码设置
- VTK:图片之ImageValueRange
- 易点云在京发布璇玑调度系统 中小企业办公IT升级步伐加快
- mac的safari浏览器调试h5
- 12.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
- IIS Express 启用目录浏览
- 图像处理随笔——颜色空间
- java cmd测试_Java SE 9:使用CMD提示开发和测试简单模块(第3部分)
- iOS 上架App Store 遇到的坑
- 玩转电脑|电脑回收站还能这么玩,自定义图标让你的回收站与众不同
- UPnP 体系架构和基本原理 —— UPnP的描述文件
- Linux 修改环境变量设置的三种方式
- unity overrideSprite的使用
- Python数学建模—线性规划
- 什么是闭包,闭包的作用与好处是什么,何时使用闭包,对闭包的改进
热门文章
- 揭示生命的奥秘——生物信息学
- R包vegan的Mantel tests探索群落物种组成是否与环境相关
- 面对万亿级测序市场,纳米孔测序技术何去何从?
- Nature:梁冠翔等发现肠道病毒组在新生儿体内分段寄生的模式
- NBT:人类微生物组千万基因的参考基因集
- Microbiome: 16S rRNA基因拷贝数应该被校正吗?
- java表驱动法索引访问_表驱动法 - SegmentFault 思否
- Python使用numpy包编写自定义函数计算平均绝对误差(MAE、Mean Absolute Error)、评估回归模型和时间序列模型、解读MAE
- Seaborn使用violinplot函数可视化多分组小提琴图(violin plot)、每个小提琴图内部包含两个分组、使用inner函数设置在小提琴图中使用虚线显示分位数位置
- R语言ggplot2可视化分面图(faceting): ggplot2可视化分面图(facet_wrap)并设置不同的分面使用不同的坐标轴数值范围、以及不同的轴标签断点间隔breaks