当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.keras.initializers.VarianceScaling用法及代码示例


初始化器能够使其规模适应权重张量的形状。

继承自:Initializer

用法

tf.keras.initializers.VarianceScaling(
    scale=1.0, mode='fan_in', distribution='truncated_normal',
    seed=None
)

参数

  • scale 比例因子(正浮点数)。
  • mode "fan_in"、"fan_out"、"fan_avg" 之一。
  • distribution 随机分布使用。 "truncated_normal"、"untruncated_normal" 和 "uniform" 之一。
  • seed 一个 Python 整数。用于创建随机种子。有关行为,请参见tf.compat.v1.set_random_seed。请注意,种子初始化器不会在多次调用中产生相同的随机值,但多个初始化器在使用相同的种子值构造时会产生相同的序列。

也可通过快捷函数 tf.keras.initializers.variance_scaling 获得。

使用 distribution="truncated_normal" or "untruncated_normal" ,样本是从均值为零和标准偏差(截断后,如果使用)的截断/未截断正态分布中抽取的 stddev = sqrt(scale / n) ,其中 n 是:

  • 权重张量中的输入单元数,如果 mode="fan_in"
  • 输出单元的数量,如果 mode="fan_out"
  • 输入和输出单元数量的平均值,如果 mode="fan_avg"

使用 distribution="uniform" ,样本是从 [-limit, limit] 内的均匀分布中抽取的,其中 limit = sqrt(3 * scale / n)

例子:

# 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)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.initializers.VarianceScaling。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。