tf.keras.initializers.GlorotNormal
Stay organized with collections
Save and categorize content based on your preferences.
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:
Glorot et al., 2010
(pdf)
Methods
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.
|
__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
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2020-10-01 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2020-10-01 UTC."],[],[],null,["# tf.keras.initializers.GlorotNormal\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.2.0/tensorflow/python/ops/init_ops_v2.py#L760-L803) |\n\nThe Glorot normal initializer, also called Xavier normal initializer.\n\nInherits From: [`VarianceScaling`](../../../tf/keras/initializers/VarianceScaling)\n\n#### View aliases\n\n\n**Main aliases**\n\n[`tf.initializers.GlorotNormal`](/api_docs/python/tf/keras/initializers/GlorotNormal), [`tf.initializers.glorot_normal`](/api_docs/python/tf/keras/initializers/GlorotNormal), [`tf.keras.initializers.glorot_normal`](/api_docs/python/tf/keras/initializers/GlorotNormal)\n\n\u003cbr /\u003e\n\n tf.keras.initializers.GlorotNormal(\n seed=None\n )\n\nInitializers allow you to pre-specify an initialization strategy, encoded in\nthe Initializer object, without knowing the shape and dtype of the variable\nbeing initialized.\n\nDraws samples from a truncated normal distribution centered on 0 with `stddev\n= sqrt(2 / (fan_in + fan_out))` where `fan_in` is the number of input units in\nthe weight tensor and `fan_out` is the number of output units in the weight\ntensor.\n\n#### Examples:\n\n def make_variables(k, initializer):\n return (tf.Variable(initializer(shape=[k, k], dtype=tf.float32)),\n tf.Variable(initializer(shape=[k, k, k], dtype=tf.float32)))\n v1, v2 = make_variables(3, tf.initializers.GlorotNormal())\n v1\n \u003ctf.Variable ... shape=(3, 3) ...\n v2\n \u003ctf.Variable ... shape=(3, 3, 3) ...\n make_variables(4, tf.initializers.RandomNormal())\n (\u003ctf.Variable ... shape=(4, 4) dtype=float32...\n \u003ctf.Variable ... shape=(4, 4, 4) dtype=float32...\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|--------|----------------------------------------------------------------------------------------------------------------------|\n| `seed` | A Python integer. Used to create random seeds. See [`tf.random.set_seed`](../../../tf/random/set_seed) for behavior. |\n\n\u003cbr /\u003e\n\n#### References:\n\n[Glorot et al., 2010](http://proceedings.mlr.press/v9/glorot10a.html)\n([pdf](http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf))\n\nMethods\n-------\n\n### `from_config`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v2.2.0/tensorflow/python/ops/init_ops_v2.py#L69-L89) \n\n @classmethod\n from_config(\n config\n )\n\nInstantiates an initializer from a configuration dictionary.\n\n#### Example:\n\n initializer = RandomUniform(-1, 1)\n config = initializer.get_config()\n initializer = RandomUniform.from_config(config)\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ||\n|----------|-----------------------------------------------------------------------|\n| `config` | A Python dictionary. It will typically be the output of `get_config`. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ||\n|---|---|\n| An Initializer instance. ||\n\n\u003cbr /\u003e\n\n### `get_config`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v2.2.0/tensorflow/python/ops/init_ops_v2.py#L802-L803) \n\n get_config()\n\nReturns the configuration of the initializer as a JSON-serializable dict.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ||\n|---|---|\n| A JSON-serializable Python dict. ||\n\n\u003cbr /\u003e\n\n### `__call__`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v2.2.0/tensorflow/python/ops/init_ops_v2.py#L525-L558) \n\n __call__(\n shape, dtype=tf.dtypes.float32\n )\n\nReturns a tensor object initialized as specified by the initializer.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ||\n|---------|------------------------------------------------------------------------|\n| `shape` | Shape of the tensor. |\n| `dtype` | Optional dtype of the tensor. Only floating point types are supported. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ||\n|--------------|------------------------------------|\n| `ValueError` | If the dtype is not floating point |\n\n\u003cbr /\u003e"]]