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