File tree Expand file tree Collapse file tree 1 file changed +2
-2
lines changed Expand file tree Collapse file tree 1 file changed +2
-2
lines changed Original file line number Diff line number Diff 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 ` 等参数简单设置参数的更新规则。
You can’t perform that action at this time.
0 commit comments