当前位置: 首页 > news >正文

pytorch学习9-优化器学习

系列文章目录

  1. pytorch学习1-数据加载以及Tensorboard可视化工具
  2. pytorch学习2-Transforms主要方法使用
  3. pytorch学习3-torchvisin和Dataloader的使用
  4. pytorch学习4-简易卷积实现
  5. pytorch学习5-最大池化层的使用
  6. pytorch学习6-非线性变换(ReLU和sigmoid)
  7. pytorch学习7-序列模型搭建
  8. pytorch学习8-损失函数与反向传播
  9. pytorch学习9-优化器学习
  10. pytorch学习10-网络模型的保存和加载
  11. pytorch学习11-完整的模型训练过程

文章目录

  • 系列文章目录
  • 一、优化器使用
  • 总结


一、优化器使用

import torch.optim
import torchvision
from torch import nn
from torch.nn import Conv2d, MaxPool2d, Sequential, Flatten, Linear
from torch.utils.data import DataLoaderdataset=torchvision.datasets.CIFAR10("data",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader=DataLoader(dataset,batch_size=1)class Mynn(nn.Module):#这是使用序列的方法:def __init__(self):super(Mynn,self).__init__()self.model1=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,x):x=self.model1(x)return xmynn=Mynn()
loss=nn.CrossEntropyLoss()
optim=torch.optim.SGD(mynn.parameters(),lr=0.01)#调用SGD优化器。第一个参数是把模型的参数全输入进去for epoch in range(20):runing_loss=0.0for data in dataloader:imgs,target=dataoutputs=mynn(imgs)result_loss=loss(outputs,target)optim.zero_grad()#将上一次的梯度设置为0,这一步必须做result_loss.backward()#反向传播,计算出模型的参数optim.step()#进行完反向传播之后,模型的参数就计算出来了,就可以调用优化器了runing_loss=runing_loss+result_lossprint(runing_loss)#查看每一轮的损失之和

总结

以上就是今天要讲的内容,优化器的使用

相关文章:

  • RepidJson将内容格式化后写入文件
  • 安卓adb【备忘录】
  • linux的权限741
  • uniapp-hubildx配置
  • 更改AndroidStudio模拟器位置
  • Linux系统调试课:PCIe调试手段
  • Verilog if语句阻断z状态传播
  • 【CSP】202309-2_坐标变换(其二)Python实现
  • 【python】pip install 国内源
  • PHP 判断给定两个时间是否在同一周,月,年
  • Android 手机屏幕适配方式和原理
  • javafx-在listview中添加了点击事件后会执行多次
  • C++ 预处理详解
  • C语言进阶之路-数组与指针
  • 电商项目之Web实时消息推送(附源码)
  • Git学习与使用心得(1)—— 初始化
  • JAVA并发编程--1.基础概念
  • php面试题 汇集2
  • SpiderData 2019年2月25日 DApp数据排行榜
  • text-decoration与color属性
  • Xmanager 远程桌面 CentOS 7
  • 大快搜索数据爬虫技术实例安装教学篇
  • 关于springcloud Gateway中的限流
  • 普通函数和构造函数的区别
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 使用 Docker 部署 Spring Boot项目
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 事件委托的小应用
  • 携程小程序初体验
  • 用mpvue开发微信小程序
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • # 安徽锐锋科技IDMS系统简介
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #QT项目实战(天气预报)
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (分布式缓存)Redis哨兵
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (转载)CentOS查看系统信息|CentOS查看命令
  • . Flume面试题
  • .net 后台导出excel ,word
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .NET的微型Web框架 Nancy
  • .NET开发者必备的11款免费工具
  • .NET企业级应用架构设计系列之开场白
  • .NET上SQLite的连接
  • .Net组件程序设计之线程、并发管理(一)
  • ?php echo ?,?php echo Hello world!;?
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • []指针
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [C/C++随笔] char与unsigned char区别