View source on GitHub |
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
)
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], with limit = sqrt(3 * scale / n)
.
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. Used to create random seeds. See
tf.compat.v1.set_random_seed
for behavior.ValueError
: In case of an invalid value for the "scale", mode" or
"distribution" arguments.__call__
__call__(
shape, dtype=tf.dtypes.float32
)
Returns a tensor object initialized as specified by the initializer.
shape
: Shape of the tensor.dtype
: Optional dtype of the tensor. Only floating point types are
supported.ValueError
: If the dtype is not floating pointfrom_config
@classmethod
from_config(
config
)
Instantiates an initializer from a configuration dictionary.
initializer = RandomUniform(-1, 1)
config = initializer.get_config()
initializer = RandomUniform.from_config(config)
config
: A Python dictionary.
It will typically be the output of get_config
.An Initializer instance.
get_config
get_config()
Returns the configuration of the initializer as a JSON-serializable dict.
A JSON-serializable Python dict.