tf.compat.v1.variance_scaling_initializer | TensorFlow v2.16.1 (original) (raw)
tf.compat.v1.variance_scaling_initializer
Stay organized with collections Save and categorize content based on your preferences.
Initializer capable of adapting its scale to the shape of weights tensors.
View aliases
Compat aliases for migration
SeeMigration guide for more details.
tf.compat.v1.initializers.variance_scaling
tf.compat.v1.variance_scaling_initializer(
scale=1.0,
mode='fan_in',
distribution='truncated_normal',
seed=None,
dtype=tf.dtypes.float32
)
Migrate to TF2
Although it is a legacy compat.v1 API, this symbol is compatible with eager execution and tf.function.
To switch to TF2 APIs, move to using eithertf.initializers.variance_scaling
or tf.keras.initializers.VarianceScaling(neither from compat.v1) and pass the dtype when calling the initializer.
Structural Mapping to TF2
Before:
initializer = tf.compat.v1.variance_scaling_initializer(
scale=scale,
mode=mode,
distribution=distribution
seed=seed,
dtype=dtype)
weight_one = tf.Variable(initializer(shape_one))
weight_two = tf.Variable(initializer(shape_two))
After:
initializer = tf.keras.initializers.VarianceScaling(
scale=scale,
mode=mode,
distribution=distribution
seed=seed)
weight_one = tf.Variable(initializer(shape_one, dtype=dtype))
weight_two = tf.Variable(initializer(shape_two, dtype=dtype))
How to Map Arguments
TF1 Arg Name | TF2 Arg Name | Note |
---|---|---|
scale | scale | No change to defaults |
mode | mode | No change to defaults |
distribution | distribution | No change to defaults. 'normal' maps to 'truncated_normal' |
seed | seed | |
dtype | dtype | The TF2 api only takes it as a __call__ arg, not a constructor arg. |
partition_info | - | (__call__ arg in TF1) Not supported |
Description
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)
.
Args | |
---|---|
scale | Scaling factor (positive float). |
mode | One of "fan_in", "fan_out", "fan_avg". |
distribution | Random distribution to use. One of "normal", "uniform". |
seed | A Python integer. Used to create random seeds. Seetf.compat.v1.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. |
Raises | |
---|---|
ValueError | In case of an invalid value for the "scale", mode" or "distribution" arguments. |
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 ofget_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, partition_info=None
)
Returns a tensor object initialized as specified by the initializer.
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. |