优化器TORCH.OPTIM
Optim是一个实现各种优化算法的包。大多数常用的方法已经得到支持,接口也足够通用,因此将来也可以轻松集成更复杂的方法。
常用套路:
1. 计算loss result_loss =nn.CrossEntropyLoss(output,targets)
2. 清空梯度 optim.zero_grad()
3. 反传传播 result_loss.backward()
4. 更新参数 optim.step()
优化器使用的简单案例:
import torch
import torchvision
from torch import nn
from torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Linear
from torch.utils.data import DataLoaderclass Mymodule(nn.Module):def __init__(self):super(Mymodule, self).__init__()self.model = Sequential(Conv2d(3,32,5,padding=2),MaxPool2d(2),Conv2d(32, 32, 5, padding=2),MaxPool2d(2),Conv2d(32, 64, 5, padding=2),MaxPool2d(2),Flatten(),Linear(1024, 64),Linear(64, 10))def forward(self,input):output = self.model(input)return outputdataset = torchvision.datasets.CIFAR10("../fl/data",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader = DataLoader(dataset,batch_size=1)mymodule = Mymodule()#交叉熵
loss = nn.CrossEntropyLoss()#优化器,第一个参数是模型参数,第二个是学习率,一般为0.01
optim = torch.optim.SGD(mymodule.parameters(),lr=0.01)for epoch in range(20):running_loss = 0.0for data in dataloader:imgs,targets = dataoutput = mymodule(imgs)result_loss = loss(output,targets)#先把每个梯度调为零optim.zero_grad()#反向传播,会得到一个梯度grad,可以利用它进行优化result_loss.backward()#对权重进行更新optim.step()running_loss = running_loss + result_loss#每一轮的损失之和print(running_loss)
结果:
(联邦学习笔记,资料来源于b站小土堆)
优化器TORCH.OPTIM相关推荐
- PyTorch的损失函数和优化器
文章目录 PyTorch的损失函数和优化器 损失函数 优化器 总结 PyTorch的损失函数和优化器 损失函数 一般来说,PyTorch的损失函数有两种形式:函数形式和模块形式.前者调用的是torch ...
- pytorch基础知识整理(五) 优化器
深度学习网络必须通过优化器进行训练.在pytorch中相关代码位于torch.optim模块中. 1, 常规用法 optimizer = torch.optim.Adam(model.paramete ...
- PyTorch学习笔记2:nn.Module、优化器、模型的保存和加载、TensorBoard
文章目录 一.nn.Module 1.1 nn.Module的调用 1.2 线性回归的实现 二.损失函数 三.优化器 3.1.1 SGD优化器 3.1.2 Adagrad优化器 3.2 分层学习率 3 ...
- pytorch 优化器
深度学习五个步骤:数据 --> 模型 --> 损失函数 --> 优化器 --> 迭代训练,通过前向传播,得到模型的输出和真实标签之间的差异,也就是损失函数,有了损失函数之后,模 ...
- PyTorch基础-Adam优化器使用-06
当不知道使用什么优化器的时候可以使用adam优化器 代码 import numpy as np import torch from torch import nn,optim from torch.a ...
- pytorch adagrad_【学习笔记】Pytorch深度学习—优化器(二)
点击文末 阅读原文,体验感更好哦! 前面学习过了Pytorch中优化器optimizer的基本属性和方法,优化器optimizer的主要功能是 "管理模型中的可学习参数,并利用参数的梯度gr ...
- Pyotrch —— 优化器Optimizer(一)
目录 1.什么是优化器 2.optimizer的属性 3.optimizer的方法 4.代码分析 5.优化器基本方法的使用 1.什么是优化器 Pytorch优化器:管理并更新模型中可学习参数的值,使得 ...
- PyTorch(13)---优化器_随机梯度下降法
优化器:随机梯度下降法 反向传播-梯度下降 import torch import torchvision from torch import nn from torch.nn import Conv ...
- Pytorch:优化器、损失函数与深度神经网络框架
Pytorch: 优化器.损失函数与深度神经网络框架 Copyright: Jingmin Wei, Pattern Recognition and Intelligent System, Schoo ...
- pytorch学习十 ---- 优化器
1.什么是优化器? 首先我们回忆一下机器学习的五大模块:数据.模型.损失函数.优化器.迭代训练 在损失函数中我们会得到一个loss值,即真实标签与预测标签的差异值,对于loss我们通常会采用pytor ...
最新文章
- JIRA与Confluence的安装与集成(4)
- [转]MongoDB基本使用
- 深度学习 CNN卷积神经网络 LeNet-5详解
- 线程池底层工作原理?
- node内存配置(--max-old-space-size)
- C++学习——C++中的四种类型转换
- 马云现身敦煌种梭梭树:蚂蚁森林即将突破1亿棵树
- 走不远的共享滑板车!
- python构建知识库_Python学习知识库
- 2019最新《网易云课堂C++开发工程师案例-网吧收银系统(MFC+ADO)》
- 基于ARM+FPGA低成本高实时Ethercat运动控制器解决方案
- 【视频】离职创业感悟
- 在线matlab,web版,还是挺好用的
- 3. pandas基础
- 大才非学不成,大志非学不就——周旭龙
- Python+Django毕业设计中小型企业工作日志管理系统APP(程序+LW+部署)
- python的seed和tensorflow的seed
- YOLO UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing a
- 前端PC端微信扫码登录
- php安装教程_php教程
热门文章
- android电影播放器,万能电影播放器2018最新版-万能电影播放器v1.0 安卓版-腾牛安卓网...
- 【数据科学竞赛入门】从往届腾讯广告大赛看如何入坑数据挖掘竞赛
- NOI-Linux使用技巧
- Matlab中semilogy函数使用
- 《赖氏经典英语语法》第四集
- 菲律宾 软件测试,一个中国学生,2个月的菲律宾游学失败经历自白
- easyui radiobutton
- 玩转数据可视化之R语言ggplot2:(一)ggplot2实现箱线图、小提琴图、直方图等图形(快速入门)
- u盘为什么要安全弹出?丢失的数据怎么恢复?
- 视频剪辑入门技能快速分享