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

最适合新人的写作网站网站开发项目组团队

最适合新人的写作网站,网站开发项目组团队,北京seo优化厂家,爱折腾 wordpress文章目录 1 工作原理2 常见优化器2.1 SGD2.2 Adam 3 优化器参数4 学习率5 使用最佳实践 本文环境: Pycharm 2025.1Python 3.12.9Pytorch 2.6.0cu124 ​ 优化器 (Optimizer) 是深度学习中的核心组件,负责根据损失函数的梯度来更新模型的参数,使…

文章目录

  • 1 工作原理
  • 2 常见优化器
    • 2.1 SGD
    • 2.2 Adam
  • 3 优化器参数
  • 4 学习率
  • 5 使用最佳实践

本文环境:

  • Pycharm 2025.1
  • Python 3.12.9
  • Pytorch 2.6.0+cu124

​ 优化器 (Optimizer) 是深度学习中的核心组件,负责根据损失函数的梯度来更新模型的参数,使模型能够逐步逼近最优解。在 PyTorch 中,优化器通过torch.optim模块提供。

​ Pytorch 链接:https://docs.pytorch.org/docs/stable/optim.html。

1 工作原理

​ 优化器的工作流程如下:

  1. 计算损失函数的梯度 (通过backward()方法)。
  2. 根据梯度更新模型参数 (通过step()方法)。
  3. 清除之前的梯度 (通过zero_grad()方法)。
result_loss.backward()  # 计算梯度
optim.step()           # 更新参数
optim.zero_grad()      # 清除梯度

2 常见优化器

​ PyTorch 提供多种优化器,以 SGD 和 Adam 为例。

2.1 SGD

​ 基础优化器,可以添加动量 (momentum) 来加速收敛。

image-20250528111156055
参数类型默认值作用使用建议
paramsiterable-待优化参数必须传入model.parameters()或参数组字典,支持分层配置
lrfloat1e-3学习率控制参数更新步长,SGD常用0.01-0.1,Adam常用0.001
momentumfloat0动量因子加速梯度下降(Adam内置动量,无需单独设置)
dampeningfloat0动量阻尼抑制动量震荡(仅当momentum>0时生效)
weight_decayfloat0L2正则化防止过拟合,AdamW建议0.01-0.1
nesterovboolFalseNesterov动量改进版动量法(需momentum>0)
maximizeboolFalse最大化目标默认最小化损失,True时改为最大化
foreachboolNone向量化实现CUDA下默认开启,内存不足时禁用
differentiableboolFalse可微优化允许优化器步骤参与自动微分(影响性能)
fusedboolNone融合内核CUDA加速,支持float16/32/64/bfloat16

2.2 Adam

image-20250528111450759
  • 特点:自适应矩估计,结合了动量法和 RMSProp 的优点。
  • 优点:通常收敛速度快,对学习率不太敏感。
参数名称类型默认值作用使用建议
paramsiterable-需要优化的参数(如model.parameters()必须传入,支持参数分组配置
lrfloat1e-3学习率(控制参数更新步长)推荐0.001起调,CV任务可尝试0.0001-0.01
betas(float, float)(0.9, 0.999)梯度一阶矩(β₁)和二阶矩(β₂)的衰减系数保持默认,除非有特殊需求
epsfloat1e-8分母稳定项(防止除以零)混合精度训练时可增大至1e-6
weight_decayfloat0L2正则化系数推荐0.01-0.1(使用AdamW时更有效)
decoupled_weight_decayboolFalse启用AdamW模式(解耦权重衰减)需要权重衰减时建议设为True
amsgradboolFalse使用AMSGrad变体(解决收敛问题)训练不稳定时可尝试启用
foreachboolNone使用向量化实现加速(内存消耗更大)CUDA环境下默认开启,内存不足时禁用
maximizeboolFalse最大化目标函数(默认最小化)特殊需求场景使用
capturableboolFalse支持CUDA图捕获仅在图捕获场景启用
differentiableboolFalse允许通过优化器步骤进行自动微分高阶优化需求启用(性能下降)
fusedboolNone使用融合内核实现(需CUDA)支持float16/32/64时启用可加速

3 优化器参数

​ 所有优化器都接收两个主要参数:

  1. params:要优化的参数,通常是model.parameters()
  2. lr:学习率(learning rate),控制参数更新的步长。

​ 其他常见参数:

  • weight_decay:L2 正则化系数,防止过拟合。
  • momentum:动量因子,加速 SGD 在相关方向的收敛。
  • betas(Adam 专用):用于计算梯度及其平方的移动平均的系数。

4 学习率

​ 学习率是优化器中最重要的超参数之一。

  • 太大:可能导致震荡或发散。
  • 太小:收敛速度慢。
  • 常见策略:
    • 固定学习率 (如代码中的 0.01)。
    • 学习率调度器 (Learning Rate Scheduler) 动态调整。

5 使用最佳实践

  1. 梯度清零:每次迭代前调用optimizer.zero_grad(),避免梯度累积。
  2. 参数更新顺序:先backward()step()
  3. 学习率选择:可以从默认值开始 (如 Adam 的 0.001),然后根据效果调整。
import torch
import torchvision
from torch import nn
from torch.utils.data import DataLoaderdataset = torchvision.datasets.CIFAR10(root='./dataset',  # 保存路径train=False,  # 是否为训练集transform=torchvision.transforms.ToTensor(),  # 转换为张量download=True  # 是否下载
)dataloader = DataLoader(dataset, batch_size=1)class MyModel(nn.Module):def __init__(self):super(MyModel, self).__init__()self.model = nn.Sequential(nn.Conv2d(3, 32, 5, 1, 2),nn.MaxPool2d(2),nn.Conv2d(32, 32, 5, 1, 2),nn.MaxPool2d(2),nn.Conv2d(32, 64, 5, 1, 2),nn.MaxPool2d(2),nn.Flatten(),nn.Linear(64 * 4 * 4, 64),nn.Linear(64, 10))def forward(self, x):return self.model(x)loss = nn.CrossEntropyLoss()
model = MyModel()
torch.optim.Adam(model.parameters(), lr=0.01)
optim = torch.optim.SGD(model.parameters(), lr=0.01)for epoch in range(20):running_loss = 0.0# 遍历dataloader中的数据for data in dataloader:# 获取数据和标签imgs, targets = data# 使用模型对数据进行预测output = model(imgs)# 计算预测结果和真实标签之间的损失result_loss = loss(output, targets)# 将梯度置零optim.zero_grad()# 反向传播计算梯度result_loss.backward()# 更新模型参数optim.step()running_loss += result_lossprint(f'第 {epoch + 1} 轮的损失为 {running_loss}')

文章转载自:

http://diz99wdl.jcrfm.cn
http://NvIUjbIj.jcrfm.cn
http://ILR3lXyG.jcrfm.cn
http://f4q4d0MC.jcrfm.cn
http://Z1KLkfOz.jcrfm.cn
http://5mTq4NqS.jcrfm.cn
http://WMc9x3BA.jcrfm.cn
http://hyD4VUNL.jcrfm.cn
http://dkz5xtxC.jcrfm.cn
http://VTxKwnMC.jcrfm.cn
http://908HK8Wy.jcrfm.cn
http://SNArGqVz.jcrfm.cn
http://UOEYQdyW.jcrfm.cn
http://U2ndpRpS.jcrfm.cn
http://pXrEEhpy.jcrfm.cn
http://DGMCO2QC.jcrfm.cn
http://GAG6couw.jcrfm.cn
http://mfU5m05w.jcrfm.cn
http://UkAhdjuZ.jcrfm.cn
http://B7gOEYgQ.jcrfm.cn
http://tEr7hNcD.jcrfm.cn
http://KfRqB045.jcrfm.cn
http://RKqtghcx.jcrfm.cn
http://U5nmKco2.jcrfm.cn
http://oq4zyPWm.jcrfm.cn
http://e2zxTosy.jcrfm.cn
http://JpeIabuE.jcrfm.cn
http://oJS3cfe9.jcrfm.cn
http://b6ZsQ9TD.jcrfm.cn
http://RKGfWJun.jcrfm.cn
http://www.dtcms.com/wzjs/645057.html

相关文章:

  • 四川电大住房和城乡建设厅网站网站介绍视频怎么做的
  • 做网站类的书本信息wordpress 导航网站主题
  • 网站模版怎样使用wordpress精华主题
  • wordpress 建站 域名网站首页权重低
  • 织梦可以做论坛网站网站设计需要多少钱
  • 做彩妆发哪个网站浏览量高网页设计的网站
  • 整合营销传播理论厦门网站做优化
  • 品牌网站建设4小蝌蚪山东省交通厅建设网站首页
  • 开封开封县网站建设北碚区建设银行网站
  • 网站建设方案 流程泰安市两学一做网站
  • 网站建设服务市场分析服务好的常州网站建设
  • 毕业设计网页制作咖啡网站图片wordpress为静态
  • 公司网站免费自建网站建设与运营课程
  • 备案 网站首页网址企业网站教程 优帮云
  • 电子商务网站功能介绍北京做网站公司排名浩森宇特
  • 做高铁在哪个网站买企业邮箱怎么用
  • 西宁网站建设 哪家好张家界网站建设的公司
  • 纯静态企业网站模板免费下载建设行政主管部门官方网站
  • 长沙专业建网站公司网站增加聊天
  • 珠宝营销型网站wordpress内网和外网
  • win7架设asp网站自己做的砍价网站
  • 郴州网站seo外包廊坊电子商务网站建设
  • 网站设计目标 优帮云微信知彼网络网站建设
  • 做网站商城如何优化查答案的网站制作模板
  • 企业网站设计能否以黑科技网站
  • 石城县网站建设网页生成链接
  • 网站开发与设计.net网页在线小游戏
  • 知名企业网站人才招聘情况如何用户个人中心页面html源码
  • 门户网站建站合同网站开发的心得
  • 嘉盛集团官方网站wordpress 显示不全