On this page
tf.keras.initializers.VarianceScaling
Initializer capable of adapting its scale to the shape of weights tensors.
Inherits From: Initializer
tf.keras.initializers.VarianceScaling(
    scale=1.0, mode='fan_in', distribution='truncated_normal',
    seed=None
)
Also available via the shortcut function tf.keras.initializers.variance_scaling.
With distribution="truncated_normal" or "untruncated_normal", samples are drawn from a truncated/untruncated normal distribution with a mean of zero and a standard deviation (after truncation, if used) stddev = sqrt(scale / n), where n is:
- number of input units in the weight tensor, if mode="fan_in"
- number of output units, if mode="fan_out"
- average of the numbers of input and output units, if mode="fan_avg"
With distribution="uniform", samples are drawn from a uniform distribution within [-limit, limit], where limit = sqrt(3 * scale / n).
Examples:
# Standalone usage:
initializer = tf.keras.initializers.VarianceScaling(
scale=0.1, mode='fan_in', distribution='uniform')
values = initializer(shape=(2, 2))
# Usage in a Keras layer:
initializer = tf.keras.initializers.VarianceScaling(
scale=0.1, mode='fan_in', distribution='uniform')
layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
| Args | |
|---|---|
| scale | Scaling factor (positive float). | 
| mode | One of "fan_in", "fan_out", "fan_avg". | 
| distribution | Random distribution to use. One of "truncated_normal", "untruncated_normal" and "uniform". | 
| seed | A Python integer. An initializer created with a given seed will always produce the same random tensor for a given shape and dtype. | 
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=None, **kwargs
)
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. If not specified, tf.keras.backend.floatx()is used, which default tofloat32unless you configured it otherwise (viatf.keras.backend.set_floatx(float_dtype)) | 
| **kwargs | Additional keyword arguments. | 
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
 https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/initializers/VarianceScaling