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

做办公室的网站无锡网站建设优化公司

做办公室的网站,无锡网站建设优化公司,网站建设页面,烟台高端网站建设公司哪家好一、get_scheduler实现warmup 1、warmup基本思想 Warmup(预热)是深度学习训练中的一种技巧,旨在逐步增加学习率以稳定训练过程,特别是在训练的早期阶段。它主要用于防止在训练初期因学习率过大导致的模型参数剧烈波动或不稳定。…

一、get_scheduler实现warmup

1、warmup基本思想

Warmup(预热)是深度学习训练中的一种技巧,旨在逐步增加学习率以稳定训练过程,特别是在训练的早期阶段。它主要用于防止在训练初期因学习率过大导致的模型参数剧烈波动或不稳定。预热阶段通常是指在训练开始时,通过多个步长逐步将学习率从一个较低的值增加到目标值(通常是预定义的最大学习率)。

2、warmup基本实现

from transformers import get_schedulerscheduler = get_scheduler(name="cosine",  # 可以选择 'linear', 'cosine', 'polynomial', 'constant', 'constant_with_warmup'optimizer=optimizer,num_warmup_steps=100,  # 预热步数num_training_steps=num_training_steps  # 总的训练步数
)#linear:线性学习率下降
#cosine:余弦退火
#polynomial:多项式衰减
#constant:常数学习率
#constant_with_warmup:预热后保持常数# 上述代码等价于
from transformers import get_cosine_scheduler_with_warmupscheduler = get_cosine_scheduler_with_warmup(optimizer=optimizer,num_warmup_steps=100,  # 预热步数num_training_steps=num_training_steps  # 总的训练步数
)# 同理等价于linear, polynomial, constant分别等价于
from transformers import (get_constant_schedule, get_polynomial_decay_schedule_with_warmup, get_linear_schedule_with_warmup)

 二、各种warmup策略学习率变化规律

1、get_constant_schedule学习率变化规律

2、get_cosine_schedule_with_warmup学习率变化规律

3、get_cosine_with_hard_restarts_schedule_with_warmup学习率变化规律

4、get_linear_schedule_with_warmup学习率变化规律

5、get_polynomial_decay_schedule_with_warmup学习率变化规律(power=2, power=1类似于linear)

6、注意事项

  • 如果网络中不同框架采用不同的学习率,上述的warmup策略仍然有效(如图二、5中所示) 
  • 给schduler设置的number_training_steps一定要和训练过程相匹配,如下所示。

7、可视化学习率过程

import matplotlib.pyplot as plt
from transformers import get_scheduler
from torch.optim import AdamW
import torch
import math# 定义一些超参数learning_rate = 1e-3  # 初始学习率# 假设有一个模型
model = torch.nn.Linear(10, 2)# 获得训练总的步数
epochs = 50
batch_size = 32
#train_loader = ***
#num_train_loader = len(train_loader)
num_train_loader = 1235num_training_steps = epochs * math.ceil(num_train_loader/batch_size) # 总的训练步数# 定义优化器
optimizer = AdamW(model.parameters(), lr=learning_rate)# 创建学习率调度器
scheduler = get_scheduler(name="cosine",  # 可以选择 'linear', 'cosine', 'polynomial', 'constant', 'constant_with_warmup'optimizer=optimizer,num_warmup_steps=100,  # 预热步数num_training_steps=num_training_steps  # 总的训练步数
)# 存储每一步的学习率
learning_rates = []# for step in range(num_training_steps):
#    optimizer.step()
#    scheduler.step()
#    learning_rates.append(optimizer.param_groups[0]['lr'])for epoch in range(epochs):# for batch in train_loader:for step in range(0, num_train_loader, batch_size):optimizer.zero_grad()# loss.backward()optimizer.step()scheduler.step()learning_rates.append(optimizer.param_groups[0]['lr'])# 绘制学习率曲线
plt.plot(learning_rates)
plt.xlabel("Training Steps")
plt.ylabel("Learning Rate")
plt.title("Learning Rate Schedule")
plt.show()

实验结果:

http://www.hengruixuexiao.com/news/20627.html

相关文章:

  • 新浪云sae免费wordpress网站网站制作教程
  • 如何自己免费建网站深圳专业建站公司
  • 定制型网站设计价格怎样注册网站免费注册
  • 网站的规划与创建中国新闻网最新消息
  • 给公司建网站厦门网页搜索排名提升
  • 动易网站默认密码软件排名优化
  • 如何开一家网站建设公司在什么网站可以免费
  • 电子商城网站开发教程营销渠道分为三种模式
  • 冠县哪做网站网络网站推广
  • 光电网站建设网站的网站建设
  • 沧州网站制作公司产品软文范例800字
  • 中国网站域名备案管理系统seo自然排名关键词来源的优缺点
  • 河南企业网站制作网页设计与制作模板
  • 成都网站建设全平台南昌百度推广公司
  • 学校网站建设意义有哪些方面武汉最新今天的消息
  • 网络游戏代理平台seo网站诊断价格
  • 海南省建设培训与执业资格注册中心网站拼多多seo搜索优化
  • 免费行情软网站最近发生的热点新闻事件
  • 网站集约化建设的好处体验式营销经典案例
  • 织梦网站栏目如何做下拉网络营销做得好的酒店
  • 自己做的影视会员网站违法么八零云自助建站免费建站平台
  • 前端做网站框架软件定制开发公司
  • 做网站的公司挣钱吗长沙网站seo推广
  • 线上编程哪家比较好seo和sem哪个工资高
  • 南昌网站建设索王道下拉地推项目发布平台
  • 凯里网站设计公司哪家好项目外包平台
  • 网站开发外贸2345王牌浏览器
  • 东莞企业网站多少钱网站推广去哪家比较好
  • 酒店网站建设公司开封seo推广
  • b站免费版2023最新版本线上推广策划方案