阅读(7.2k) 书签 (0)

TensorFlow函数:tf.uniform_unit_scaling_initializer

2018-04-11 10:34 更新

tf.uniform_unit_scaling_initializer函数

uniform_unit_scaling_initializer 类

别名:

  • 类 tf.initializers.uniform_unit_scaling
  • 类 tf.uniform_unit_scaling_initializer

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

请参阅指南:变量>共享变量

初始化器,可生成张量而不会缩放方差.

初始化深度网络时,原则上有利的是保持输入方差的比例不变,因此它不会通过到达最后一层而迅速扩大或减少.如果输入是 x,操作是:x * W,我们想要随机地初始化 W,则需要我们挑选从以下表达中挑选 W:

[-sqrt(3) / sqrt(dim), sqrt(3) / sqrt(dim)]

保持该比例不变,其中 dim = W.shape[0](输入的大小).卷积网络的类似计算给出了类似的结果,其 dim 等于前三个维度的乘积.当存在非线性时,我们需要乘以一个常数 factor.参见 Sussillo et al., 2014 (pdf) 了解更深层次的动机,实验和常量的计算.

函数参数:

  • factor:浮点型,一个乘法因子,其值将被缩放.
  • seed:一个 Python 的整数用于创建随机种子,参阅:tf.set_random_seed函数.
  • dtype:数据类型,仅支持浮点类型.

方法

__init__

__init__(
    factor=1.0,
    seed=None,
    dtype=tf.float32
)

此功能已被取消.它将在未来版本中删除.更新说明:使用 tf.initializers.variance_scaling 而不是 distribution=uniform 来获得等效行为.

__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()