模型参数

    • 初始化方式
    • 正则化
    • 梯度剪切
    • 模型平均

    fluid通过设置 的 initializer 属性为单个parameter设置初始化方式。 示例如下:

    以下为fluid支持的初始化方式:

    线性初始化方法。用该方法初始化的反卷积操作可当做线性插值操作使用。

    可用别名:Bilinear

    API请参考:BilinearInitializer

    2. ConstantInitializer

    常数初始化方式,将parameter初始化为指定的数值。

    可用别名:Constant

    API请参考:ConstantInitializer

    3. MSRAInitializer

    该初始化方法参考论文: https://arxiv.org/abs/1502.01852

    可用别名:MSRA

    API请参考:

    随机高斯分布初始化方法。

    API请参考:NormalInitializer

    5. TruncatedNormalInitializer

    随机截断高斯分布初始化方法。

    可用别名:TruncatedNormal

    API请参考:TruncatedNormalInitializer

    6. UniformInitializer

    随机均匀分布初始化方式。

    可用别名:Uniform

    API请参考:UniformInitializer

    该初始化方式参考论文:

    可用别名:Xavier

    API请参考:XavierInitializer

    fluid通过设置 ParamAttrregularizer 属性为单个parameter设置正则化。

    以下为fluid支持的正则化方式:

    • (别名:L1Decay)

    以下为fluid支持的clipping方式:

    1. ErrorClipByValue

    用来将一个tensor的值clipping到指定范围。

    API请参考:

    2. GradientClipByGlobalNorm

    用来将多个Tensor的global-norm限制在 clip_norm 以内。

    API请参考:

    将Tensor的l2-norm限制在 max_norm 以内。如果Tensor的l2-norm超过了 , 会将计算出一个 scale ,该Tensor的所有值乘上计算出来的 scale .

    API请参考:GradientClipByNorm

    4. GradientClipByValue

    将parameter对应的gradient的值限制在[min, max]范围内。

    API请参考:GradientClipByValue

    fluid通过 ParamAttr 的 属性设置单个parameter是否进行平均优化。 示例如下:

    在miniBatch训练过程中,每个batch过后,都会更新一次parameters,模型平均做的就是平均最近k次更新产生的parameters。

    平均后的parameters只是被用来进行测试和预测,其并不参与实际的训练过程。