View source on GitHub |
The Glorot normal initializer, also called Xavier normal initializer.
Inherits From: VarianceScaling
tf.keras.initializers.GlorotNormal(
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 truncated normal distribution centered on 0 with stddev
= sqrt(2 / (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.GlorotNormal())
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:
Methods
from_config
@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
get_config()
Returns the configuration of the initializer as a JSON-serializable dict.
Returns | |
---|---|
A JSON-serializable Python dict. |
__call__
__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 |