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代码分析)的主要内容,如果未能解决你的问题,请参考以下文章