Pytorch自定义优化器Optimizer简单总结(附AdamW代码分析)

Posted Marcus-Bao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pytorch自定义优化器Optimizer简单总结(附AdamW代码分析)相关的知识,希望对你有一定的参考价值。

写在前面

虽然pytorch,tensorflow等主流框架已经为我们内置了很多已经被广泛使用的优化算法,比如SGD,Adam,Adagrad等等,但是有的时候往往需要对优化器做一定的改动,才能使我们的模型收敛到最优解;或者说我们就是对SGD系列算法展开研究,发现了其中的问题并且提出了一个更好的优化器,如何把他封装到pytorch或者tensorflow里呢?让其可以简单的使用。

本文就针对pytorch重载Optimizer进行简单的讲解,接下来的几篇还会逐步讲解,如何自己写cuda,如何自己定制backward_helper?也就是如何自己求导?而不用自动微分?感兴趣的同学可以持续关注!

正文

要想重载Optimizer,首先就是要理解在pytorch框架中它是如何工作的。一般的,我们一般都会使用如下代码来对模型进行训练:

optimizer = MyOptimizer(my_model.parameters(), lr=0.001

以上是关于Pytorch自定义优化器Optimizer简单总结(附AdamW代码分析)的主要内容,如果未能解决你的问题,请参考以下文章

MMsegmentation教程 6: 自定义运行设定

Pytorch框架学习---优化器Optimizer

PyTorch学习,optimizer优化器

pytorch学习-5:批训练+Optimizer 优化器

pytorch学习-5:批训练+Optimizer 优化器

pytorch 7 optimizer 优化器 加速训练