阅读(12.7k) 书签 (0)

TensorFlow函数:tf.variance_scaling_initializer

2018-04-18 09:50 更新

tf.variance_scaling_initializer函数

variance_scaling_initializer类

别名:

  • 类 tf.initializers.variance_scaling
  • 类 tf.keras.initializers.VarianceScaling
  • 类 tf.variance_scaling_initializer

定义在:tensorflow/python/ops/init_ops.py

初始化程序能够使其规模适应权重张量的形状.

使用distribution="normal",样本从以0为中心的截断正态分布中抽取;使用stddev = sqrt(scale / n),其中n为:

  • 如果mode =“fan_in”,n为权重张量中输入单元的数量;
  • 如果mode =“fan_out”,n为输出单元的数量;
  • 如果mode =“fan_avg”,n为平均输入的数量和输出单元的数量.

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

参数:

  • scale:比例因子(正浮点数).
  • mode:为“fan_in”、“fan_out”以及“fan_avg”中的一个.
  • distribution:随机分配使用,“normal”,“uniform”其中之一.
  • seed:一个Python的整数用于创建随机种子;查看tf.set_random_seed的行为.
  • dtype:数据类型,仅支持浮点类型.

可能引发的异常:

  • ValueError:如果“scale”,“mode”或“distribution”参数的值无效.

方法

__init__

__init__(
    scale=1.0,
    mode='fan_in',
    distribution='normal',
    seed=None,
    dtype=tf.float32
)

__call__

__call__(
    shape,
    dtype=None,
    partition_info=None
)

from_config

from_config(
    cls,
    config
)

从配置字典中实例化一个初始化程序.

如下示例:

initializer = RandomUniform(-1, 1)
config = initializer.get_config()
initializer = RandomUniform.from_config(config)

参数:

  • config:一个Python的字典,它通常是get_config的输出.

返回值:

返回一个初始化实例.

get_config

get_config()