TensorFlow学习(四)

变量初始化函数

初始化函数 功能 主要参数
tf.constant_initializer 将变量初始化为给定常量 常量的取值(tf.constant_initializer(value))
tf.random_normal_initializer 将变量初始化为满足正态分布的随机值

正态分布的均值和标准差

(tf.random_normal_initializer(mean=0.0, stddev=1.0, seed=None, dtype=tf.float32))

tf.truncated_normal_initializer

将变量初始化为满足正态分布的随机值,但如果随机出的值偏离平均值超过2个标准差,那么这个数将会被重新随机

正态分布的均值和标准差

和  tf.random_normal_initializer 相同

tf.random_uniform_initializer 将变量初始化为满足平均分布的随机值 最大、最小值,__init__(self, minval=0, maxval=None, seed=None, dtype=tf.float32)
tf.uniform_unit_scaling_initializer 将变量初始化为满足平均分布但不影响输出数量级的随机值 factor(产生随机值时乘以的系数)__init__(self, factor=1.0, seed=None, dtype=tf.float32)
tf.zeros_initializer 将变量设置为全0 变量维度
tf.ones_initializer 将变量设置为全1 变量维度

tf.truncated_normal(shape, mean, stddev) :shape表示生成张量的维度,mean是均值,stddev是标准差。这个函数产生正太分布,均值和标准差自己设定。这是一个截断的产生正太分布的函数,就是说产生正太分布的值如果与均值的差值大于两倍的标准差,那就重新生成。和一般的正太分布的产生随机数据比起来,这个函数产生的随机数与均值的差距不会超过两倍的标准差,但是一般的别的函数是可能的。

tf.truncated_normal_initializer的意思是:从截断的正态分布中输出随机值。
生成的值服从具有指定平均值和标准偏差的正态分布,如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。

ARGS:
mean:一个python标量或一个标量张量。要生成的随机值的均值。
stddev:一个python标量或一个标量张量。要生成的随机值的标准偏差。
seed:一个Python整数。用于创建随机种子。查看 tf.set_random_seed 行为。
dtype:数据类型。只支持浮点类型。
 

猜你喜欢

转载自blog.csdn.net/qq_42322548/article/details/87998623