tf.compat.v1.keras.initializers.lecun_normal

Initializer capable of adapting its scale to the shape of weights tensors.

Inherits From: VarianceScaling

Migrate to TF2

Although it is a legacy compat.v1 API, this symbol is compatible with eager execution and tf.function.

To switch to TF2 APIs, move to using either tf.initializers.variance_scaling or tf.keras.initializers.VarianceScaling (neither from compat.v1) and pass the dtype when calling the initializer.

Structural Mapping to TF2

Before:

initializer = tf.compat.v1.variance_scaling_initializer(
  scale=scale,
  mode=mode,
  distribution=distribution
  seed=seed,
  dtype=dtype)

weight_one = tf.Variable(initializer(shape_one))
weight_two = tf.Variable(initializer(shape_two))

After:

initializer = tf.keras.initializers.VarianceScaling(
  scale=scale,
  mode=mode,
  distribution=distribution
  seed=seed)

weight_one = tf.Variable(initializer(shape_one, dtype=dtype))
weight_two = tf.Variable(initializer(shape_two, dtype=dtype))

How to Map Arguments

TF1 Arg Name TF2 Arg Name Note
scale scale No change to defaults
mode mode No change to defaults
distribution distribution No change to defaults. 'normal' maps to 'truncated_normal'
seed seed
dtype dtype The TF2 api only takes it as a __call__ arg, not a constructor arg.
partition_info - (__call__ arg in TF1) Not supported

Description

With distribution="truncated_normal" or "untruncated_normal", samples are drawn from a truncated/untruncated normal distribution with a mean of zero and a standard deviation (after truncation, if used) 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"

With distribution="uniform", samples are drawn from a uniform distribution within [-limit, limit], with limit = sqrt(3 * scale / n).

scale Scaling factor (positive float).
mode One of "fan_in", "fan_out", "fan_avg".
distribution Random distribution to use. One of "normal", "uniform".
seed A Python integer. Used to create random seeds. See tf.compat.v1.set_random_seed for behavior.
dtype Default data type, used if no dtype argument is provided when calling the initializer. Only floating point types are supported.

ValueError In case of an invalid value for the "scale", mode" or "distribution" arguments.

Methods

from_config

View source

Instantiates an initializer from a configuration dictionary.

Example:

initializer = RandomUniform(-1, 1)
config = initializer.get_config()
initializer = RandomUniform.from_config(config)

Args
config A Python dictionary. It will typically be the output of get_config.

Returns
An Initializer instance.

get_config

View source

Returns the configuration of the initializer as a JSON-serializable dict.

Returns
A JSON-serializable Python dict.

__call__

View source

Returns a tensor object initialized as specified by the initializer.

Args
shape Shape of the tensor.
dtype Optional dtype of the tensor. If not provided use the initializer dtype.
partition_info Optional information about the possible partitioning of a tensor.