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

网站后台修改不了动漫设计与制作视频

网站后台修改不了,动漫设计与制作视频,丰台深圳网站建设公司,广州网站优化流程scheduler简介 scheduler(调度器)是一种用于调整优化算法中学习率的机制。学习率是控制模型参数更新幅度的关键超参数,而调度器根据预定的策略在训练过程中动态地调整学习率。 优化器负责根据损失函数的梯度更新模型的参数,而调度器则负责调整优化过程中使用的特定参数,通…

scheduler简介

scheduler(调度器)是一种用于调整优化算法中学习率的机制。学习率是控制模型参数更新幅度的关键超参数,而调度器根据预定的策略在训练过程中动态地调整学习率。
优化器负责根据损失函数的梯度更新模型的参数,而调度器则负责调整优化过程中使用的特定参数,通常是学习率。调度器通过调整学习率帮助优化器更有效地搜索参数空间,避免陷入局部最小值,并加快收敛速度。
调度器允许实现复杂的训练策略,学习率预热、周期性调整或突然降低学习率,这些策略对于优化器的性能至关重要。

学习率绘图函数
我们设定一简单的模型,得带100 epoch,绘制迭代过程中loss的变化

import os
import torch
from torch.optim import lr_scheduler
import matplotlib.pyplot as plt# 模拟训练过程,每循环一次更新一次学习率
def get_lr_scheduler(optim, scheduler, total_step):'''get lr values'''lrs = []for step in range(total_step):lr_current = optim.param_groups[0]['lr']lrs.append(lr_current)if scheduler is not None:scheduler.step()return lrs
# 将损失函数替换为学习率,模拟根据损失函数进行自适调整的学习率变化 
def get_lr_scheduler1(optim, scheduler, total_step):'''get lr values'''lrs = []for step in range(total_step):lr_current = optim.param_groups[0]['lr']lrs.append(lr_current)if scheduler is not None:scheduler.step(lr_current)return lrs

余弦拟退火(CosineAnnealingLR)

torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max, eta_min=0, last_epoch=-1, verbose=‘deprecated’)
cosine形式的退火学习率变化机制,顾名思义,学习率变化曲线是cos形式的,定义一个正弦曲线需要四个参数,周期、最大最小值、相位。其中周期=2T_max,eta_min周期函数的峰值,last_epoch表示加载模型的迭代步数,定义cos曲线的初始位置,当它为-1时,参数不生效,初始相位就是0,否则就是last_epochT_max/pi。
在这里插入图片描述当 last_epoch=-1 时,将初始学习率设置为学习率。请注意,由于计划是递归定义的,学习率可以同时被此调度程序之外的其他操作者修改。如果学习率仅由这个调度程序设置,那么每个步骤的学习率变为:
\begin{aligned}
\eta_t = \eta_{min} + \frac{1}{2}(\eta_{max} - \eta_{min})\left(1 +
\cos\left(\frac{T_{cur}}{T_{max}}\pi\right)\right)
\end{aligned}

def plot_cosine_aneal():plt.clf()optim = torch.optim.Adam([{'params': model.parameters(),'initial_lr': initial_lr}], lr=initial_lr)scheduler = lr_scheduler.CosineAnnealingLR(optim, T_max=40, eta_min=0.2)lrs = get_lr_scheduler(optim, scheduler, total_step)plt.plot(lrs, label='eta_min=0.2,,last epoch=-1')# if not re defined, the init lr will be lrs[-1]optim = torch.optim.Adam([{'params': model.parameters(),'initial_lr': initial_lr}], lr=initial_lr)scheduler = lr_scheduler.CosineAnnealingLR(optim, T_max=40, eta_min=0.2, last_epoch=10)lrs = get_lr_scheduler(optim, scheduler, total_step)plt.plot(lrs, label='eta_min=0.2,,last epoch=10')# eta_minscheduler = lr_scheduler.CosineAnnealingLR(optim, T_max=40, eta_min=0.5, last_epoch=10)lrs = get_lr_scheduler(optim, scheduler, total_step)plt.plot(lrs, label='eta_min=0.5,,last epoch=10')plt.title('CosineAnnealingLR')plt.legend()plt.show()
plot_cosine_aneal()

在这里插入图片描述

LambdaLR

torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda = function, last_epoch=- 1, verbose=False)
LambdaLR 可以根据用户定义的 lambda 函数或 lambda 函数列表来调整学习率。当您想要实现标准调度器未提供的自定义学习率计划时,这种调度器特别有用。
Lambda 函数是使用 Python 中的 lambda 关键字定义的小型匿名函数。
Lambda 函数应该接受一个参数(周期索引)并返回一个乘数,学习率将乘以这个乘数。

def plot_lambdalr():plt.clf()# Lambda1optim = torch.optim.Adam(model.parameters(), lr=initial_lr)scheduler = lr_scheduler.LambdaLR(optim, lr_lambda=lambda step: step%40/100.)lrs = get_lr_scheduler(optim, scheduler, total_step)plt.plot(lrs,label='lambda step: step%40/100.')#Lambda2optim = torch.optim.Adam(model.parameters(), lr=initial_lr)scheduler = lr_scheduler.LambdaLR(optim, lr_lambda=lambda step: max(0, 1 - step / 100))lrs = get_lr_scheduler(optim, scheduler, total_step)plt.plot(lrs,label='lambda step: max(0, 1 - step / 100)')plt.title('LambdaLR')plt.legend()plt.show()plot_lambdalr()

在这里插入图片描述

多阶段学习率调度(MultiplicativeLR)

torch.optim.lr_scheduler.MultiplicativeLR(optimizer, lr_lambda, last_epoch=-1, verbose=‘deprecated’)
学习率在达到特定的epoch时降低,将每个参数组的学习率乘以指定函数给出的因子,通常用于在训练的不同阶段使用不同的学习率。当 last_epoch=-1 时,将初始学习率设置为学习率。

def plot_multiplicativelr():plt.
http://www.yayakq.cn/news/472944/

相关文章:

  • 做问卷调查赚钱的网站网站采集怎么做
  • 网站建设维护总结网站建设的目的只是开展网络营销
  • 响应式网站开发asp域名权重查询工具
  • 建立网站目录结构应遵循的方法和建议免费vps
  • 电影网站开发免费的网站软件下载安装
  • 网站分享代码怎么加组织建设内容
  • 网站建设好还需投资吗免费自动交易软件app
  • 重庆品牌型网站建设多少钱软文写作兼职
  • 网站设计拓扑图百度推广 网站建设
  • apache部署多个网站做内销网站
  • 巴彦淖尔市百家姓网站建设国外做任务网站
  • 做图片的网站国际网站模板
  • 那家建设网站p2p公司最好?wordpress注册字段
  • 网站建设参数村级网站建设
  • 搜索引擎优化结果网站大图怎么优化
  • 购物网站功能详细介绍长沙市宁乡县建设局网站
  • 做网站一般工资如何舟山公司网站建设
  • 专业建站公司设计方案江苏环泰建设有限公司网站
  • 冠县企业做网站推广自己做家装设计网站
  • 五一网站个人空间免费网站自动跳转
  • 二手交易网站建设方案关于网站建设交易流程的描述一句话
  • 网站自己怎么做的黄江镇网站仿做
  • 咸阳学校网站建设哪家专业全球网站流量查询
  • 搭建网站知识福州专业制作网站
  • wordpress微网站网页版传奇哪个好玩
  • 免费自助建站哪个最好室内设计公司取名字大全集
  • 网页制作与网站开发用的软件wordpress添加喜欢按钮
  • 龙华网站建设方案表优秀建筑设计案例
  • 免费黄页网站做网站设计电脑需要什么配置
  • 做区块链网站需要注意哪些部队涨工资权威发布