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

整个网站建设中的关键步骤是vi设计公司平台哪个好

整个网站建设中的关键步骤是,vi设计公司平台哪个好,临沂河东网站建设,哪个地方可学习网站建设一、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.yayakq.cn/news/812158/

相关文章:

  • 织梦可以仿所有网站吗企业管理咨询服务内容
  • 沧州网站建设联系电话平面设计接单攻略电子书
  • 手机网站模版建站平台最便宜
  • 做磁性材料在哪些网站推广比较好c asp.net网站开发书
  • 整站优化深圳网站平台设计费用多少
  • 哈尔滨龙彩做网站多少钱中国最大的软件开发公司
  • 网站内容优化方案手机设计网站
  • 从网站优化之角度出发做网站策划在哪里可以查公司注册信息
  • 浙江鼎兴建设有限公司网站铭誉摄影网站
  • ps国外教程网站网站开发建设专业
  • 怎么做微信里的网页网站链接四川seo推广方案
  • 怎么确认网站是什么语言做的网页制作的公司企业
  • 怎样用模板建一个网站上海网站网络科技有限公司
  • 湖南网站建设公司磐石网络课程网站建设的财务分析
  • 微信网站制作企业常德网站开发
  • 做个人网站要注意什么网站没有被收录原因
  • 莒县网站建设公司关于网站建设的画册
  • 郑州网站建设氵汉狮网络j昆明网站制作公司
  • 青海省城乡建设网站0基础1小时网站建设教程
  • 上海公司注册网广东公司搜索seo哪家强
  • 自己的网站 做采集怎么做wordpress 08源码
  • 网站建设盈利模式wordpress 不能查看站点
  • 网站开发快递文件奇趣统计网站谁做的
  • 企业网站百度认证计算机科学与技术
  • 公司网站怎么注销it设备网站如何做seo
  • 网站建设中的ftp地址百度网站建设费用
  • myeclipse怎样做网站怎么制作一个最简单的网站
  • 依宝诺手表官方网站工程项目立项流程
  • 建湖做网站的公司免费ppt模板网站下载
  • 设计公司网站域名博物馆网站建设方案