首页 > 其他分享 >PyTorch中的优化器

PyTorch中的优化器

时间:2024-04-23 17:23:03浏览次数:26  
标签:optimizer 权重 PyTorch 参数 动量 lr 优化 SGD

SDG优化器

参数说明:(引用:https://developer.baidu.com/article/detail.html?id=2705103)

  • 学习率(Learning Rate):学习率决定了模型权重更新的步长。较大的学习率可能导致模型训练不稳定,而较小的学习率可能导致训练速度缓慢。通常,你可以通过尝试不同的学习率来找到最佳值。默认情况下,学习率是1.0。你可以使用lr参数来设置学习率,例如:
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
  • 动量(Momentum):动量是一个加速SGD优化过程的参数。它利用了之前梯度的信息来加速权重更新。当沿着相同的方向更新时,动量可以增加权重更新的步长;当沿相反方向更新时,动量可以减小权重更新的步长。默认情况下,动量是0。你可以使用momentum参数来设置动量,例如:
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, momentum=0.9)
  • 权重衰减(Weight Decay):权重衰减是一种正则化技术,通过在损失函数中添加一个正则项来减少过拟合。它通过对权重参数应用小的衰减因子来实现。默认情况下,权重衰减是0。你可以使用weight_decay参数来设置权重衰减,例如:
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, weight_decay=0.001)
  • Nesterov 动量(Nesterov Momentum):Nesterov 动量是传统动量的一种变体。在更新权重之前,它会先计算传统的动量值,然后再根据这个动量值进行权重更新。默认情况下,Nesterov 动量为False。你可以使用nesterov参数来启用或禁用 Nesterov 动量,例如:
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, momentum=0.9, nesterov=True)
  • 除了上述参数之外,你还可以通过param_groups参数将参数分组,以便对不同的参数组设置不同的超参数。例如:
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, momentum=0.9)
optimizer.add_param_group({'momentum': 0.8})  # 创建第二个参数组,并设置动量为0.8

标签:optimizer,权重,PyTorch,参数,动量,lr,优化,SGD
From: https://www.cnblogs.com/shenxiaoyao/p/18153332

相关文章

  • 甘特图是什么?利用甘特图来优化项目管理流程
     甘特图是项目管理软件中十分常见的功能,可以说每一个项目经理都要学会使用甘特图才能更好的交付项目。什么是甘特图?甘特图用来做什么?简单来说一种将项目任务与时间关系直观表示的图表,直观地展示了任务进度和持续时间。图片来源zz-plan甘特图一、甘特图的定义和特点1.定义......
  • 【微电平台】-高并发实战经验-奇葩问题解决及流程优化之旅
    微电平台微电平台是集电销、企业微信等于一体的综合智能SCRMSAAS化系统,涵盖多渠道管理、全客户生命周期管理、私域营销运营等主要功能,承接了京东各业务线服务,专注于为业务提供职场外包式的一站式客户管理及一体化私域运营服务。 导读本文介绍电销系统【客户名单离线打标......
  • AI将诗意装进口袋!合合信息扫描全能王“扫描书籍”功能优化上线
    人间最美四月天,正是读书好时节。4月20日至23日,正值“世界读书日”之际,合合信息旗下扫描全能王联合上海首家图像小说主题书店——安古莱姆书店,共同发起“春天正是读书天”线下公益阅读活动,为公众带来一场春日文学盛宴。“世界读书日”期间,为方便阅读爱好者们随时随地畅享阅读的......
  • 策略模式优化if...else
    场景根据第三方系统的事件做出不同动作优化前@Slf4j@RestController@RequiredArgsConstructorpublicclassWebHookController{@PostMapping("/webhook")publicResponseEntity<Object>webhook(@RequestBodyJSONObjectbody){ Stringevent=body.getStri......
  • 【pytorch学习】之线性代数
    3线性代数3.1标量如果你曾经在餐厅支付餐费,那么应该已经知道一些基本的线性代数,比如在数字间相加或相乘。例如,北京的温度为52◦F(华氏度,除摄氏度外的另一种温度计量单位)。严格来说,仅包含一个数值被称为标量(scalar)。如果要将此华氏度值转换为更常用的摄氏度,则可以计算表达式$C=......
  • 优化教学模式
    初中阶段,由于学习科目的增多,教学内容的加深,对学生的思维能力、计算能力和想象能力的要求也逐步提高这样不可避免地出现了一批后进生,严重地影响了教学质量的提高。因此,探索后进生的转化途径,是大面积提高数学教学质量的有效途径。面对后进生我们不能放弃,只能转化。后进生并不是智商......
  • 【pytorch学习】之数据预处理
    2数据预处理为了能用深度学习来解决现实世界的问题,我们经常从预处理原始数据开始,而不是从那些准备好的张量格式数据开始。在Python中常用的数据分析工具中,我们通常使用pandas软件包。像庞大的Python生态系统中的许多其他扩展包一样,pandas可以与张量兼容。2.1读取数据集举一个......
  • O2优化
    1#include<cstdio>2intmain(){3ints=0;4for(inti=0;i<200000;++i)5s+=i;6printf("%d%d",s,s<0);}7不开O2输出:-14749364801开O2输出:-14749364800为什么呢?编译器想:s初值大于等于0,每次都加一个大于等于0的数,结果一定不会......
  • 基于PSO优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真
    1.算法运行效果图预览PSO优化前:      PSO优化后:   2.算法运行软件版本MATLAB2022A  3.算法理论概述       时间序列回归预测是数据分析的重要领域,旨在根据历史数据预测未来时刻的数值。近年来,深度学习模型如卷积神经网络(ConvolutionalNe......
  • 【JavaScript】微信小程序:高效性能优化策略与实践
    ​本文作者:黄启聪,碧桂园服务前端开发高级工程师,专注于运用前沿的Web技术提升工作效率,并致力于打造卓越的交互式用户体验。​01前言目前,凤凰会商城支持全国商城、门店、酒司令、地推、群接龙等多种业务,并且具备多端能力。一套代码可以在凤凰会APP、移动端H5和微信小程序中运行......