# tf.glorot_normal_initializer

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/python/ops/init_ops.py#L1256-L1283) |

The Glorot normal initializer, also called Xavier normal initializer.

Inherits From: [`variance_scaling`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/initializers/variance_scaling)

#### View aliases


**Main aliases**

[`tf.initializers.glorot_normal`](https://www.tensorflow.org/api_docs/python/tf/keras/initializers/GlorotNormal), [`tf.keras.initializers.glorot_normal`](https://www.tensorflow.org/api_docs/python/tf/keras/initializers/GlorotNormal)
**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.glorot_normal_initializer`](https://www.tensorflow.org/api_docs/python/tf/compat/v1/keras/initializers/glorot_normal), [`tf.compat.v1.initializers.glorot_normal`](https://www.tensorflow.org/api_docs/python/tf/compat/v1/keras/initializers/glorot_normal), [`tf.compat.v1.keras.initializers.glorot_normal`](https://www.tensorflow.org/api_docs/python/tf/compat/v1/keras/initializers/glorot_normal)

<br />

    tf.glorot_normal_initializer(
        seed=None, dtype=tf.dtypes.float32
    )

It draws samples from a truncated normal distribution centered on 0
with standard deviation (after truncation) given by
`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.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `seed` | A Python integer. Used to create random seeds. See [`tf.compat.v1.set_random_seed`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/random/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. |

<br />

#### References:

[Glorot et al., 2010](http://proceedings.mlr.press/v9/glorot10a.html)
([pdf](http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf))

## Methods

### `from_config`

[View source](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/python/ops/init_ops.py#L78-L97)

    @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)

<br />

<br />

<br />

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

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| An Initializer instance. ||

<br />

### `get_config`

[View source](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/python/ops/init_ops.py#L1282-L1283)

    get_config()

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

<br />

<br />

<br />

| Returns ||
|---|---|
| A JSON-serializable Python dict. ||

<br />

### `__call__`

[View source](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/python/ops/init_ops.py#L508-L533)

    __call__(
        shape, dtype=None, partition_info=None
    )

Returns a tensor object initialized as specified by the initializer.

<br />

<br />

<br />

| 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. |

<br />