「Deep Learning」理解Pytorch中的「torch.optim」

编程入门 行业动态 更新时间:2024-10-24 19:27:55

「Deep <a href=https://www.elefans.com/category/jswz/34/1769507.html style=Learning」理解Pytorch中的「torch.optim」"/>

「Deep Learning」理解Pytorch中的「torch.optim」

Sina Weibo:小锋子Shawn
Tencent E-mail:403568338@qq

基于pytorch 0.2.0_1版本
pytorch里面的optim文档
optim是优化算法包,包括Adadelta、Adagrad、Adam、AveragedSGD、RMSprop、SGD等。

优化算法学习
第一、SGD,文档在此,SGD,代码在此,SGD

class torch.optim.SGD(params, lr=<object object>, momentum=0,
dempening=0, weight_decay=0, nesterov=False)

Nesterov momentum版本的SGD也可以执行,该优化算法的介绍,在此,Nesterov。
params - 可迭代的,通常是args = get_arguments()和model.parameters()/model.optim_parameters(args)配合使用。
lr - 学习率或步长,无默认值,说明必须由用户指定。
momentum - 冲量项因子,默认值为0,通常设置0.9。
weight_decay - 权重衰减项因子,默认值为0,通常设置千分之五或者万分之五。
nesterov - nesterov开关,默认为False。
使用如下:

optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9)
optimizer.zero_grad() # clears the gradients of all optimized **Variable** s.
loss_fn(model(input), target).backward()
optimizer.step() # performs a single optimization step.

第二,Adam,文档在此,Adam,代码在此,Adam

class torch.optim.Adam(params, lr=0.001, betas=(0.9, 0.999),
eps=1e-08, weight_decay=0)

params - 同上。
lr - 同上,但是默认值为千分之一。
betas - Adam优化算法中的超参数,分别表示用于计算梯度及其平方(梯度强度)均值的系数。
eps - 分母中的小数,提升计算稳定性。
weight_decay - 同上。

更多推荐

「Deep Learning」理解Pytorch中的「torch.optim」

本文发布于:2024-02-11 18:05:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1682470.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Learning   Deep   Pytorch   optim   torch

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!