tf.keras.initializers.GlorotUniform

View source on GitHub

The Glorot uniform initializer, also called Xavier uniform initializer.

Inherits From: VarianceScaling

tf.keras.initializers.GlorotUniform(
    seed=None
)

Initializers allow you to pre-specify an initialization strategy, encoded in the Initializer object, without knowing the shape and dtype of the variable being initialized.

Draws samples from a uniform distribution within [-limit, limit] where limit is sqrt(6 / (fan_in + fan_out)) where fan_in is the number of input units in the weight tensor and fan_out is the number of output units in the weight tensor.

Examples:

def make_variables(k, initializer): 
  return (tf.Variable(initializer(shape=[k, k], dtype=tf.float32)), 
          tf.Variable(initializer(shape=[k, k, k], dtype=tf.float32))) 
v1, v2 = make_variables(3, tf.initializers.GlorotUniform()) 
v1 
<tf.Variable ... shape=(3, 3) ... 
v2 
<tf.Variable ... shape=(3, 3, 3) ... 
make_variables(4, tf.initializers.RandomNormal()) 
(<tf.Variable ... shape=(4, 4) dtype=float32... 
 <tf.Variable ... shape=(4, 4, 4) dtype=float32... 

Args:

  • seed: A Python integer. Used to create random seeds. See tf.random.set_seed for behavior.

References:

Glorot et al., 2010 (pdf)

Methods

__call__

View source

__call__(
    shape, dtype=tf.dtypes.float32
)

Returns a tensor object initialized as specified by the initializer.

Args:

  • shape: Shape of the tensor.
  • dtype: Optional dtype of the tensor. Only floating point types are supported.

Raises:

  • ValueError: If the dtype is not floating point

from_config

View source

@classmethod
from_config(
    config
)

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

get_config()

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

Returns:

A JSON-serializable Python dict.