以optim.SGD为例介绍pytorch优化器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以optim.SGD为例介绍pytorch优化器相关的知识,希望对你有一定的参考价值。

参考技术A 在神经网络优化器中,主要为了优化我们的神经网络,使他在我们的训练过程中快起来,节省时间。在pytorch中提供了 torch.optim方法优化我们的神经网络,torch.optim 是实现各种优化算法的包。最常用的方法都已经支持,接口很常规,所以以后也可以很容易地集成更复杂的方法。

要使用torch.optim,您必须构造一个optimizer对象,这个对象能保存当前的参数状态并且基于计算梯度进行更新。

要构造一个优化器,你必须给他一个包含参数(必须都是variable对象)进行优化,然后可以指定optimizer的参数选项,比如学习率,权重衰减。具体参考torch.optim文档

model.parameters() 是获取model网络的参数

首先sgd的参数有三个,1)opfunc;2)x;3)config;4)state

在普通的情况下 x 的更新 在加上冲量后就是在普通的情况下加上上次更新的x的与mom[0,1]的乘积

以上是关于以optim.SGD为例介绍pytorch优化器的主要内容,如果未能解决你的问题,请参考以下文章

Pytorch优化器全总结SGDASGDRpropAdagrad

非常简单的 optim.SGD 训练循环无法按预期工作 - PyTorch

pytorch----nn.Modulenn.functionalnn.Sequentialnn.optim

PyTorch:如何在任何给定时刻更改优化器的学习率(无 LR 计划)

为啥 PyTorch 中的嵌入实现为稀疏层?

利用pytorch建立神经网络