tf.compat.v1.random_normal_initializer

Initializer that generates tensors with a normal distribution.

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, switch to using either tf.initializers.RandomNormal or tf.keras.initializers.RandomNormal (neither from compat.v1) and pass the dtype when calling the initializer. Keep in mind that the default stddev and the behavior of fixed seeds have changed.

Structural Mapping to TF2

Before:

initializer = tf.compat.v1.random_normal_initializer(
  mean=mean,
  stddev=stddev,
  seed=seed,
  dtype=dtype)

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

After:

initializer = tf.initializers.RandomNormal(
  mean=mean,
  seed=seed,
  stddev=stddev)

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
mean mean No change to defaults
stddev stddev Default changes from 1.0 to 0.05
seed seed
dtype dtype The TF2 native api only takes it as a __call__ arg, not a constructor arg.
partition_info - (__call__ arg in TF1) Not supported.