初始化器能够使其规模适应权重张量的形状。
用法
tf.compat.v1.keras.initializers.VarianceScaling(
scale=1.0, mode='fan_in', distribution='truncated_normal',
seed=None, dtype=tf.dtypes.float32
)
参数
-
scale
比例因子(正浮点数)。 -
mode
"fan_in"、"fan_out"、"fan_avg" 之一。 -
distribution
随机分布使用。 "normal"、"uniform" 之一。 -
seed
一个 Python 整数。用于创建随机种子。有关行为,请参见tf.compat.v1.set_random_seed
。 -
dtype
默认数据类型,如果在调用初始化程序时没有提供dtype
参数,则使用该类型。仅支持浮点类型。
抛出
-
ValueError
如果 "scale"、mode" 或 "distribution" 参数的值无效。
迁移到 TF2
警告:这个 API 是为 TensorFlow v1 设计的。继续阅读有关如何从该 API 迁移到本机 TensorFlow v2 等效项的详细信息。见TensorFlow v1 到 TensorFlow v2 迁移指南有关如何迁移其余代码的说明。
虽然它是一个遗留的 compat.v1
API,但此符号与即刻执行和 tf.function
兼容。
要切换到 TF2 API,请转为使用 tf.initializers.variance_scaling
或 tf.keras.initializers.VarianceScaling
(均来自 compat.v1
)并在调用初始化程序时传递 dtype。
到 TF2 的结构映射
前:
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))
后:
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))
如何映射参数
TF1 参数名称 | TF2 参数名称 | 注意 |
---|---|---|
scale |
scale |
没有更改默认值 |
mode |
mode |
没有更改默认值 |
distribution
|
distribution
|
没有更改默认值。 'normal' 映射到 'truncated_normal' |
seed |
seed |
|
dtype
|
dtype
|
TF2 api 仅将其作为 __call__ arg,而不是构造函数 arg。 |
partition_info |
- | (TF1 中的 __call__ arg)不支持 |
使用 distribution="truncated_normal" or "untruncated_normal"
,样本是从均值为零和标准偏差(截断后,如果使用)的截断/未截断正态分布中抽取的 stddev = sqrt(scale / n)
其中 n 是:
- 权重张量中的输入单元数,如果 mode = "fan_in"
- 输出单元的数量,如果模式 = "fan_out"
- 输入和输出单元数量的平均值,如果 mode = "fan_avg"
使用 distribution="uniform"
,使用 limit = sqrt(3 * scale / n)
从 [-limit, limit] 内的均匀分布中抽取样本。
相关用法
- Python tf.compat.v1.keras.initializers.VarianceScaling.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.Ones.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.Zeros.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.Ones用法及代码示例
- Python tf.compat.v1.keras.initializers.RandomNormal.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.glorot_uniform.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.lecun_uniform用法及代码示例
- Python tf.compat.v1.keras.initializers.he_normal.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.Orthogonal.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.lecun_normal.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.TruncatedNormal用法及代码示例
- Python tf.compat.v1.keras.initializers.RandomNormal用法及代码示例
- Python tf.compat.v1.keras.initializers.he_uniform用法及代码示例
- Python tf.compat.v1.keras.initializers.Identity.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.Constant用法及代码示例
- Python tf.compat.v1.keras.initializers.Constant.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.RandomUniform.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.glorot_normal.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.lecun_normal用法及代码示例
- Python tf.compat.v1.keras.initializers.he_uniform.from_config用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.keras.initializers.VarianceScaling。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。