修改optimizer的 学习率
def step(self): "Update parameters and rate" self._step += 1 rate = self.rate() for p in self.optimizer.param_groups: p['lr'] = rate self._rate = rate self.optimizer.step()
param———groups 代表了有几组需要优化的网络,用在同时优化多个网络的情形。
print("optimizer_3.defaults:", trainer.defaults)
print("optimizer_3.param_groups长度:", len(trainer.param_groups))
print("optimizer_3.param_groups一个元素包含的键:", trainer.param_groups[0].keys())
optimizer_3.defaults: {'lr': 0.5, 'momentum': 0, 'dampening': 0, 'weight_decay': 0.001, 'nesterov': False} optimizer_3.param_groups长度: 2 optimizer_3.param_groups一个元素包含的键: dict_keys(['params', 'lr', 'momentum', 'dampening', 'weight_decay', 'nesterov'])
trainer= torch.optim.SGD([{'params': params_1x},
{'params': net.fc.parameters(),'lr': learning_rate * 10}],lr=learning_rate, weight_decay=0.001)
这里看出向traine中传递力两组的param,由于第一组没有设置‘lr’,因此使用了defaults中的‘lr‘
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律