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

行业网站名称一对一优势的网络营销方式

行业网站名称,一对一优势的网络营销方式,90设计网官网 登录,网站建设使用的什么软件有哪些在 PyTorch 中,你可以通过为优化器传递不同的学习率来针对不同的可调参数分配不同的学习率。这通常通过向优化器传递一个字典列表来实现,其中每个字典指定特定参数组的学习率。下面是一个示例代码,展示了如何实现这一点: import …

在 PyTorch 中,你可以通过为优化器传递不同的学习率来针对不同的可调参数分配不同的学习率。这通常通过向优化器传递一个字典列表来实现,其中每个字典指定特定参数组的学习率。下面是一个示例代码,展示了如何实现这一点:

import torch
import torch.optim as optim# 假设我们有两个模型参数:param1 和 param2
param1 = torch.nn.Parameter(torch.randn(2, 3))
param2 = torch.nn.Parameter(torch.randn(3, 4))# 将这些参数分配给不同的学习率
optimizer = optim.SGD([{'params': param1, 'lr': 0.01},{'params': param2, 'lr': 0.001}
], lr=0.01, momentum=0.9)# 模拟一次训练步骤
loss = (param1.sum() + param2.sum()) ** 2
loss.backward()
optimizer.step()# 打印更新后的参数值
print(param1)
print(param2)

对于余弦退火算法中,对于可调的学习率,pytorch对不同的可调参数,分配不同的学习率权重

import torch
import torch.optim as optim
from torch.optim.lr_scheduler import CosineAnnealingLR# 假设我们有两个模型参数:param1 和 param2
param1 = torch.nn.Parameter(torch.randn(2, 3))
param2 = torch.nn.Parameter(torch.randn(3, 4))# 为每个参数组分配不同的学习率
optimizer = optim.SGD([{'params': param1, 'lr': 0.01},{'params': param2, 'lr': 0.001}
], lr=0.01, momentum=0.9)# 为整个优化器设置余弦退火调度器
scheduler = CosineAnnealingLR(optimizer, T_max=10, eta_min=0.0001)# 模拟一个训练周期
for epoch in range(10):# 执行优化步骤loss = (param1.sum() + param2.sum()) ** 2loss.backward()optimizer.step()# 更新学习率scheduler.step()# 打印当前学习率for i, param_group in enumerate(optimizer.param_groups):print(f'Epoch {epoch+1}, Param Group {i+1}: Learning Rate = {param_group["lr"]}')

两个参数先后优化,第一阶段主要优化param1,后一阶段主要优化param2

方法1:分阶段调整优化器的参数组
你可以在第一阶段只优化 param1,然后在第二阶段只优化 param2。这可以通过在不同阶段将 param1 或 param2 从优化器中移除或冻结(将学习率设置为 0)来实现。

import torch
import torch.optim as optim
from torch.optim.lr_scheduler import CosineAnnealingLR# 假设我们有两个模型参数:param1 和 param2
param1 = torch.nn.Parameter(torch.randn(2, 3))
param2 = torch.nn.Parameter(torch.randn(3, 4))# 第一阶段:仅优化 param1
optimizer1 = optim.SGD([{'params': param1, 'lr': 0.01}], momentum=0.9)
scheduler1 = CosineAnnealingLR(optimizer1, T_max=5, eta_min=0.0001)# 第二阶段:仅优化 param2
optimizer2 = optim.SGD([{'params': param2, 'lr': 0.001}], momentum=0.9)
scheduler2 = CosineAnnealingLR(optimizer2, T_max=5, eta_min=0.0001)# 模拟训练
for epoch in range(10):# 第一阶段:前5个epoch优化param1if epoch < 5:optimizer1.zero_grad()loss = (param1.sum()) ** 2loss.backward()optimizer1.step()scheduler1.step()print(f'Epoch {epoch+1}: Optimizing param1, LR = {scheduler1.get_last_lr()}')# 第二阶段:后5个epoch优化param2else:optimizer2.zero_grad()loss = (param2.sum()) ** 2loss.backward()optimizer2.step()scheduler2.step()print(f'Epoch {epoch+1}: Optimizing param2, LR = {scheduler2.get_last_lr()}')

方法2:同时设置不同的学习率,但不同阶段侧重不同的参数
在这个方法中,你可以在第一阶段为 param1 设置较大的学习率,param2 设置为非常小的学习率(几乎不变)。然后在第二阶段反过来。

import torch
import torch.optim as optim
from torch.optim.lr_scheduler import CosineAnnealingLR# 假设我们有两个模型参数:param1 和 param2
param1 = torch.nn.Parameter(torch.randn(2, 3))
param2 = torch.nn.Parameter(torch.randn(3, 4))# 同时优化param1和param2,但不同阶段有不同的学习率
optimizer = optim.SGD([{'params': param1, 'lr': 0.01},  # param1初始学习率较大{'params': param2, 'lr': 0.0001}  # param2初始学习率较小
], momentum=0.9)scheduler = CosineAnnealingLR(optimizer, T_max=10, eta_min=0.00001)# 模拟训练
for epoch in range(10):optimizer.zero_grad()# 计算损失loss = (param1.sum() + param2.sum()) ** 2loss.backward()optimizer.step()scheduler.step()# 不同阶段调整学习率if epoch == 5:optimizer.param_groups[0]['lr'] = 0.0001  # param1 学习率降低optimizer.param_groups[1]['lr'] = 0.01    # param2 学习率增大# 打印学习率print(f'Epoch {epoch+1}: LR for param1 = {optimizer.param_groups[0]["lr"]}, LR for param2 = {optimizer.param_groups[1]["lr"]}')
http://www.yayakq.cn/news/521320/

相关文章:

  • 程序员给女盆友做的网站建设广告网站费用
  • 精品课程网站建设毕业设计论文下载百度app最新版到桌面
  • 成品网站5668入口的功能介绍如何做运营推广
  • 自己建服务类收费网站要多少钱网站推广方式都有哪些
  • 做网站要用多少钱厦门市集美区建设局网站
  • 网站建设 有聊天工具的吗上线了怎么做网站
  • 做网站域名重要吗网站模板 外贸工厂
  • 做徒步网站怎么样wordpress禁用媒体库
  • 做网站哪一家比较好wordpress创建登录页
  • 开发网站用什么语言最好吗旅游公司网站建设
  • 直播网站建设费用个人音乐网站源码搭建
  • 信誉比较好的商家可做网站英语网站大全免费
  • wordpress能大网站wordpress搬家 后台错乱
  • 有哪些网站开发技术共享充电宝app开发
  • 南宁市建设厅网站wordpress在哪下载模板
  • 青岛快速建站模板佛山网站推广优化公司
  • ftp网站后台茌平网站制作
  • 宿迁建设公司网站推广网站排名
  • 工业企业网站建设也的意义界面设计做的好的网站
  • 上海个人建站模板如何做网站栏目
  • 如何防止网站挂马旅游网站网页设计
  • 深圳营销型网站建设 龙华信科flash网站制作下载
  • 天津市做网站的公司直接找高校研究生做网站行吗
  • 做网站卖得出去吗淘宝运营课程
  • 网站建设的教材珠海做网站公司
  • 找网站公司做网站的陷阱wordpress迁移后无法登录
  • 北京网站排名制作青海省住房和城乡建设厅网站首页
  • 使用cn域名做网站的多吗网站建设 回本
  • 自己如何创建网站梁志天室内设计公司官网
  • 一诺互联网站建设公司vps做网站教程