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