Skip to content

Commit 028e2bc

Browse files
committed
fix headline level
1 parent 410bb40 commit 028e2bc

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

docs/faq/params_cn.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,10 @@ sdg.step() # 更新参数前,会先对参
9292

9393
----------
9494

95-
#### 问题:paddle fluid如何自定义优化器,自定义更新模型参数的规则?
95+
##### 问题:paddle fluid如何自定义优化器,自定义更新模型参数的规则?
9696
+ 答复:
9797
1. 要定义全新优化器,自定义优化器中参数的更新规则,可以通过继承fluid.Optimizer,重写_append_optimize_op方法实现。不同优化器实现原理各不相同,一般流程是先获取learning_rate,gradients参数,可训练参数,以及该优化器自身特别需要的参数,然后实现更新参数的代码,最后返回更新后的参数。
9898
在实现更新参数代码时,可以选择直接调用[paddle的API](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/index_cn.html)或者使用[自定义原生算子](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/07_new_op/index_cn.html)。在使用自定义原生算子时,要注意动态图与静态图调用方式有所区别:
9999
需要首先使用`framework.in_dygraph_mode()`判断是否为动态图模式,如果是动态图模式,则需要调用`paddle._C_ops`中相应的优化器算子;如果不是动态图模式,则需要调用`block.append_op` 来添加优化器算子。
100100
代码样例可参考[paddle源码](https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/fluid/optimizer.py)中AdamOptimizer等优化器的实现。
101-
2. 使用现有的常用优化器,可以在创建`Param`的时候,可以通过设置[ParamAttr](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/ParamAttr_cn.html#paramattr)的属性来控制参数的属性,可以通过设置`regularize``learning_rate`等参数简单设置参数的更新规则。
101+
2. 使用现有的常用优化器,可以在创建`Param`的时候,可以通过设置[ParamAttr](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/ParamAttr_cn.html#paramattr)的属性来控制参数的属性,可以通过设置`regularizer``learning_rate`等参数简单设置参数的更新规则。

0 commit comments

Comments
 (0)