动态调整学习率方法(仅供自己学习)

目录

一、StepLR

二、MultiStepLR

三、ExponentialLR

四、CosineAnnealingLR

五、ReduceLRonPlateau

六、LambdaLR

小结:学习率调整​​​​​​​

一、StepLR

 optimizer = torch.optim.SGD(model.parameters(), lr=learn_rate)
scheduler = torch.optim.lr_scheduler.StepLR(optimizer,step_size=10,gamma=0.1)  # 选定调整方法
①torch.optim.lr_scheduler.StepLR(optimizer,step_size=50,gamma=0.1) 

即:【等间隔调整学习率】,每经过step_size个epoch,做一次学习率decay,以gamma值为缩小倍数。

参数:

        optimizer 是之前定义好的需要优化的优化器的实例名

        step_size 是学习率衰减的周期;每经过每个epoch,做一次学习率decay

        gamma 学习率衰减的乘法因子;默认为:0.1

例如:

二、MultiStepLR

optimizer = torch.optim.SGD(model.parameters(), lr=learn_rate)
scheduler = torch.optim.lr_scheduler.MultiStepLR(optimizer,milestones=[25,30,35],gamma=0.1)

②scheduler = torch.optim.lr_scheduler.MultiStepLR(optimizer,milestones=[25,30,35],gamma=0.1)
        即:【按照给定的间隔,调整学习率】
        参数: milestones 设置调整的里程数 (以数组的形式) 

三、ExponentialLR

optimizer = torch.optim.SGD(model.parameters(), lr=learn_rate)
scheduler = torch.optim.lr_scheduler.ExponentialLR(optimizer,gamma=0.95) 
③scheduler = torch.optim.lr_scheduler.ExponentialLR(optimizer,gamma=0.95)即:【按指数衰减调整学习率】参数:gamma:指数的底数 (通常会设置接近于1的数)调整方式:lr = lr * gamma**epoch

四、CosineAnnealingLR

scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=10,eta_min=0.) 
scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=20,eta_min=0.) 即:【预先周期调整学习率】参数:T_max:下降周期eta_min: 学习率下限

五、ReduceLRonPlateau

六、LambdaLR

scheduler = torch.optim.lr_scheduler.LambdaLR(optimizer,lr_lambda=lambda1) 

小结:学习率调整

1、有序调整:Step、MultiStep、Exponential和CosineAnnealing 

2、自适应调整:ReduceLROnPleateau

3、自定义调整:Lambda

tips:

学习率初始化:设置较小数:0.01、0.001、0.0001

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600002.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows系统配置Docker的国内镜像

1.打开docker的设置,点击Docker Engine 2.添加国内的镜像源,将下面的内容加进去 "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com","http://hub-mirror.c.163.com&quo…

【C++进阶】哈希表(哈希函数、哈希冲突、开散列、闭散列)

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:c大冒险 总有光环在陨落,总有新星在闪烁 引言: 我们之前…

二、计算机网络物理层基础知识

一、物理层 物理层接口特性:解决如何在连接各种计算机传输媒体上的传输数据比特流,而不是指具体的传输媒体 物理层的主要任务 :确定与传输媒体接口有关的一些特性>定义标准 1、机械特性:定义物理连接的特性,规定物理…

免费分享一套微信小程序在线订餐(点餐)配送系统(SpringBoot+Vue),帅呆了~~

大家好,我是java1234_小锋老师,看到一个不错的微信小程序在线订餐(点餐)配送系统(SpringBootVue),分享下哈。 项目视频演示 【免费】微信小程序在线订餐(点餐)配送系统(SpringBootVue) Java毕业设计_哔哩哔哩_bilibili【免费】微信小程序在…

网盘资源搜索网站-云盘4K(收藏)

云盘4K-综合网盘搜索 地址:https://www.codelicence.cn 云盘4K-综合网盘搜索支持百度网盘、阿里云盘、夸克网盘搜索,可快速搜索百度网盘资源中的有效连接,自动识别无效的百度云网盘资源,每天更新海量资源。 各种好资源&#xff…

vue vite创建项目

使用Vite创建Vue项目是一个快速且高效的过程。Vite是一个由Vue.js团队开发的前端构建工具,它利用了现代浏览器的原生ES模块导入特性,提供了快速的冷启动和即时模块热更新。以下是使用Vite创建Vue项目的步骤: 安装Vite CLI 在开始之前&#xf…

面试算法-151-矩阵置零

题目 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 解 class Solutio…

用Vue全家桶手工搓了一个类似抖音短视频的软件,全开源

用Vue全家桶手工搓了一个类似抖音短视频的软件,全开源 软件简介 用Vue全家桶手工搓了一个高仿抖音,全开源 PC浏览器请用手机模式访问。先按F12调出控制台,再按CtrlShiftM切换到手机模式,手机请用Via浏览器或者Chrome浏览器预览。…

宝宝眼部健康,斗鸡眼小心防护

引言: 新生儿期间,宝宝的眼睛需要特别关注和呵护,因为眼睛是宝宝感知世界的窗户。斗鸡眼,即眼球表面的角膜上形成的小疙瘩,虽然在新生儿中比较罕见,但家长们仍然需要了解斗鸡眼的相关知识,并采取…

2024春算法训练4——函数与递归题解

一、前言 感觉这次的题目都很好,但是E题....(我太菜了想不到),别人的题解都上百行了,晕; 二、题解 A-[NOIP2010]数字统计_2024春算法训练4——函数与递归 (nowcoder.com) 这种题目有两种做法:…

分类预测 | Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支持向量机数据分类预测

分类预测 | Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支持向量机数据分类预测 目录 分类预测 | Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支持向量机数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支…

【网站项目】校园订餐小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…