calculate_gain¶
部分激活函数的推荐增益值(增益值可用于设置某些初始化 API,以调整初始化值)。
参数¶
nonlinearity (str) - 非线性激活函数的名称。如果输入一个线性的函数,例如:linear/conv1d/conv2d/conv3d/conv1d_transpose/conv2d_transpose/conv3d_transpose,则返回 1.0。
param (bool|int|float,可选) - 某些激活函数的参数,目前仅用于
leaky_relu
中的计算。默认为None
,此时以 0.01 来参与leaky_relu
的增益值计算。
返回¶
Python float 数,推荐的增益值。
代码示例¶
>>> import paddle
>>> gain = paddle.nn.initializer.calculate_gain('tanh')
>>> print(gain)
1.6666666666666667
>>> # 5.0 / 3
>>> gain = paddle.nn.initializer.calculate_gain('leaky_relu', param=1.0)
>>> print(gain)
1.0
>>> # math.sqrt(2.0 / (1+param^2))
>>> initializer = paddle.nn.initializer.Orthogonal(gain)