Initializer capable of adapting its scale to the shape of weights.
With distribution="normal"
, samples are drawn from a truncated normal
distribution centered on zero, with stddev = sqrt(scale / n)
where n is:
number of input units in the weight tensor, if mode = "fan_in"
number of output units, if mode = "fan_out"
average of the numbers of input and output units, if mode = "fan_avg"
initializer_variance_scaling(scale = 1, mode = c("fan_in", "fan_out",
"fan_avg"), distribution = c("normal", "uniform"), seed = NULL)
Arguments
scale | Scaling factor (positive float). |
mode | One of "fan_in", "fan_out", "fan_avg". |
distribution | One of "normal", "uniform" |
seed | Integer used to seed the random generator. |
Details
With distribution="uniform"
, samples are drawn from a uniform distribution
within -limit, limit
, with limit = sqrt(3 * scale / n)
.
See also
Other initializers: initializer_constant
,
initializer_glorot_normal
,
initializer_glorot_uniform
,
initializer_he_normal
,
initializer_he_uniform
,
initializer_identity
,
initializer_lecun_normal
,
initializer_lecun_uniform
,
initializer_ones
,
initializer_orthogonal
,
initializer_random_normal
,
initializer_random_uniform
,
initializer_truncated_normal
,
initializer_zeros