一、何为tf.random_normal函数?
tf.random_normal函数是TensorFlow中内置的正态分布随机生成函数。该函数可以生成均值为0、标准差为1的正态分布随机数,也可以根据指定的均值和标准差生成指定分布的随机数。
二、tf.random_normal函数的参数介绍
tf.random_normal函数的参数较为简单,主要包括以下三个:
- shape:生成随机数的形状。可以是一个数字,表示生成一个数字,可以是一个一维数组,表示生成一个数组,也可以是一个二维数组,表示生成一个矩阵。
- mean:生成随机数的均值。默认为0。
- stddev:生成随机数的标准差。默认为1。
下面是一个具体的示例代码,该代码用于生成一个100个元素的一维正态分布随机数。
import tensorflow as tf random_normal = tf.random_normal([100], mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) with tf.Session() as sess: print(sess.run(random_normal))
三、根据不同均值和标准差生成不同的分布
除了默认的标准正态分布,我们还可以根据实际需求生成均值和标准差不同的一些分布。
1、生成指定均值和标准差的正态分布随机数
我们可以通过指定mean和stddev参数来生成均值和标准差不同的正态分布随机数。
random_normal = tf.random_normal([100], mean=2.0, stddev=0.5, dtype=tf.float32, seed=None, name=None)
2、生成指定均值和标准差的截断正态分布随机数
我们可以通过设置truncate参数来生成均值和标准差不同的截断正态分布随机数,比如下面的示例代码生成了一个均值为0,标准差为1,下限为-1,上限为1的截断正态分布随机数。
random_normal = tf.truncated_normal([100], mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
3、生成指定均值和标准差的正态分布概率密度函数
我们可以通过设置sample_dtype参数为tf.float32、seed为固定值以及不生成随机数,来生成指定均值和标准差的正态分布概率密度函数。
random_normal = tf.random_normal([], mean=0.0, stddev=1.0, dtype=tf.float32, seed=1234, name=None, sample_dtype=tf.float32)
四、总结
tf.random_normal函数是TensorFlow中内置的正态分布随机生成函数。使用该函数我们可以根据需要生成均值和标准差不同的正态分布随机数、截断正态分布随机数以及正态分布概率密度函数。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/199788.html