Paddle paddle里有没有scale_regularization_loss操作

5hcedyr0  于 2021-11-30  发布在  Java
关注(0)|答案(2)|浏览(256)
643ylb08

643ylb081#

Paddle现在给参数增加正则项可以通过ParamAttr完成,具体可参考文档https://www.paddlepaddle.org.cn/documentation/docs/zh/1.5/api_cn/fluid_cn.html#paramattr

wlsrxk51

wlsrxk512#

感谢回复!
我之前确实有看错用法,在定义网络层误以为bias_attr=None,这项是正则化了。将fluid.regularizer.L2Decay(regularization_coeff=1e-4)传给了bias_attr

def __init__(self,
                 num_channels,
                 num_filters,
                 filter_size,
                 stride=1,
                 padding=0,
                 dilation=1,
                 groups=None,
                 param_attr=None,
                 bias_attr=None,
                 use_cudnn=True,
                 act=None,
                 dtype='float32'):

问题1:那是不是在优化器中,将regularization=None,设置成fluid.regularizer.L2Decay(regularization_coeff=1e-4)就是在所有的网络层中添加正则了呢?在TF中对conv2和dense不同操作都是单独设置正则的
问题2:这样加正则后网络反向传播计算所得的loss是否就包含正则化对loss的影响了,就不需要像TF那样再对正则化项的loss进行处理了,类似pytorch的优化器的用法么?

相关问题