随机数函数 tf.random_normal & tf.random_uniform & tf.truncated_normal & tf.random_shuffle
tf.random_normal
从正态分布输出随机值。
1 | random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None) |
shape:一个一维整数张量或Python数组。代表张量的形状。
mean:数据类型为dtype的张量值或Python值。是正态分布的均值。
stddev:数据类型为dtype的张量值或Python值。是正态分布的标准差
dtype: 输出的数据类型。
seed:一个Python整数。是随机种子。
name: 操作的名称(可选)
tf.random_uniform
从均匀分布中返回随机值。
1 | random_uniform( |
返回值的范围默认是0到1的左闭右开区间,即[0,1)。minval为指定最小边界,默认为1。maxval为指定的最大边界,如果是数据浮点型则默认为1,如果数据为整形则必须指定。
tf.truncated_normal
截断的正态分布函数。生成的值遵循一个正态分布,但如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。
故,只取横轴区间(μ-2σ,μ+2σ)内的值,面积为95.449974%
1 | truncated_normal( |
tf.random_shuffle
沿着要被洗牌的张量的第一个维度,随机打乱。
1 | random_shuffle( |
即下面这种效果:1
2
3[[1, 2], [[5, 6],
[3, 4], ==> [1, 2],
[5, 6]] [3, 4]]
附录1:生成随机数的操作的源码random_ops.py
1 |
|