TensorFlow函数之tf.truncated_normal()

tf.truncated_normal()函数是一种“截断”方式生成正太分布随机值,“截断”意思指生成的随机数值与均值的差不能大于两倍中误差,否则会重新生成。

此函数有别于tf.random_normal()正太函数,请参考本博客关于tf.random_normal()函数的介绍

TensorFlow函数之tf.random_normal()


tf.truncated_normal()函数的格式为:

tf.truncated_normal(shape, mean, stddev, dtype, seed, name)

参数说明:

  1. shape:表示生成随机数的维度
  2. mean:正太分布的均值,默认为0
  3. stddev:正太分布的标准差
  4. dtype:生成正太分布数据的类型
  5. seed:一个整数,当设置之后,每次生成的随机数都一样
  6. name:正太分布的名字

下边举两个例子说明函数的用法:

1、下边例子,均值mean=0,stddev=0.2,则生成的随机数与均值差不能大于两倍中误差,即范围为:[-0.4,0.4]

import tensorflow as tf

v = tf.truncated_normal([2, 2], mean=0, stddev=0.2, dtype=tf.float32, seed=1, name='v')

sess = tf.Session()
print(sess.run(v))
sess.close()

输出为:

[[-0.16226365  0.29691976]
 [ 0.01306587  0.01984968]]

2、修改标准差,查看生成随机数的差别,这里设置stddev=0.1,则生成的范围:[-0.2,0.2]

import tensorflow as tf

v = tf.truncated_normal([2, 2], mean=0, stddev=0.1, dtype=tf.float32, seed=1, name='v')

sess = tf.Session()
print(sess.run(v))
sess.close()

输出为:

[[-0.08113182  0.14845988]
 [ 0.00653294  0.00992484]]

猜你喜欢

转载自blog.csdn.net/Sophia_11/article/details/84030823