Paddle 一个关于paddle.fluid.dygraph.CosineDecay的建议

qf9go6mv  于 2021-11-30  发布在  Java
关注(0)|答案(5)|浏览(336)

欢迎您对PaddlePaddle提出建议,非常感谢您对PaddlePaddle的贡献!
在留下您的建议时,辛苦您同步提供如下信息:

  • 版本、环境信息

1)PaddlePaddle版本:1.7.2
2)CPU/GPU:CPU&GPU,用的是ai studio平台环境
3)系统环境:ai studio平台环境

  • 复现信息:我在文档中搜索余弦退火算法(CosineAnnealing),但是没有找到。于是我在拨弄paddle.fluid.dygraph.CosineDecay时,发现它可以起到CosineAnnealing的效果。具体来说,

paddle.fluid.dygraph.CosineDecay(learning_rate, step_each_epoch, epochs, begin=0, step=1, dtype='float32'),只要让总epoch个数超过epochs这个参数,就可以实现余弦退火。

  • 建议描述:

我觉得以下的修改都可以。
1、修改文档,添加对CosineDecay可以用于CosineAnnealing的描述,并给出说明和示例。
2、单独开一个api用于CosineAnnealing。
3、我原来看paddle.fluid.dygraph.CosineDecay的文档时,epochs参数有一个说明,现在已经没有了,是不是应该加上?

5gfr0r5j

5gfr0r5j1#

CosineAnnealing 这个api 已经在我们排期优化中;

文档的事情我们这边会进行优化;

非常感谢反馈

lymgl2op

lymgl2op2#

@cyfwry 请参照最新的2.0版本的api,paddle.optimizer.lr.CosineAnnealingDecay的设计

eeq64g8w

eeq64g8w3#

感谢!新版的api解决了这个问题,但是有点问题我不太理解,pd2.0是打算废弃原来dygraph下的api吗?到了2.0后CosineDecay和CosineAnnealingDecay两个功能近似的api居然分在两个不同的包下面,这是有什么设计理念在指导吗?

6ljaweal

6ljaweal4#

@cyfwry 全新的2.0API有新的易用性设计理念,如果API接口、功能等都不发生变化,会继续沿用,如果API接口发生了改变,会有新的写法。这里的CosineAnnealingDecay需要手动step更新学习率,设计上有些差异。

1cosmwyk

1cosmwyk5#

好的,我会试着使用新的api!

相关问题