zoukankan      html  css  js  c++  java
  • paddle07-paddle.regularizer正则化

    paddle.regularizer

    • 1.paddle.regularizer.L1Decay(coeff=0.0) L1Decay实现L1权重衰减正则化,用于模型训练,使得权重矩阵稀疏
      该类生成的实例对象,需要设置在 ParamAttr 或者 optimizer (例如 Momentum )中,在 ParamAttr 中设置时,只对该 网络层中的可训练参数生效;在 optimizer 中设置时,会对所有的可训练参数生效;如果同时设置,在 ParamAttr 中设置的优先级会高于在 optimizer 中的设置,即,对于一个可训练的参数,如果在 ParamAttr 中定义了正则化,那么会忽略 optimizer 中的正则化;否则会使用 ``optimizer``中的 正则化。  
      
      参数: coeff (float) – L1正则化系数,默认值为0.0  
      
      * Example1: set Regularizer in optimizer
      from paddle.regularizer import L1Decay
      linear = paddle.nn.Linear(10, 10)
      inp = paddle.rand(shape=[10, 10], dtype="float32")
      out = linear(inp)
      loss = paddle.mean(out)
      momentum = paddle.optimizer.Momentum(
          learning_rate=0.1,
          parameters=linear.parameters(),
          weight_decay=L1Decay(0.0001))
      back = out.backward()
      momentum.step()
      momentum.clear_grad()
      
      *  Example2: set Regularizer in parameters
      # Set L1 regularization in parameters.
      # Global regularizer does not take effect on my_conv2d for this case.
      from paddle.nn import Conv2D
      from paddle import ParamAttr
      from paddle.regularizer import L2Decay
      
      my_conv2d = Conv2D(
                      in_channels=10,
                      out_channels=10,
                      kernel_size=1,
                      stride=1,
                      padding=0,
                      weight_attr=ParamAttr(regularizer=L2Decay(coeff=0.01)),
                      bias_attr=False)
      
    • 2.paddle.regularizer.L2Decay(coeff=0.0) L2Decay实现L2权重衰减正则化,用于模型训练,有助于防止模型对训练数据过拟合
      同 L1
      
  • 相关阅读:
    java注解-笔记
    java重载与重写-笔记
    java中(equals与==)- 笔记
    Java迭代与递归-笔记
    C++指针悬挂-笔记
    极速倒入sql记录到excel表格,19个子段5万条记录只需30秒
    利用MCI的方法可以方便的实现光驱门的开关
    如何让你的程序在任务列表隐藏
    如何实现遍历文件夹中的所有文件
    识别操作系统版本
  • 原文地址:https://www.cnblogs.com/zhangtao-0001/p/14734853.html
Copyright © 2011-2022 走看看