TensorFlow实战之tf.truncated_normal与tf.random_normal
2018-01-09 15:45
447 查看
转载自http://blog.csdn.net/u013713117/article/details/65446361
从截断的正态分布中输出随机值。
生成的值服从具有指定平均值和标准偏差的正态分布,如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。
在正态分布的曲线中,横轴区间(μ-σ,μ+σ)内的面积为68.268949%。
横轴区间(μ-2σ,μ+2σ)内的面积为95.449974%。
横轴区间(μ-3σ,μ+3σ)内的面积为99.730020%。
X落在(μ-3σ,μ+3σ)以外的概率小于千分之三,在实际问题中常认为相应的事件是不会发生的,基本上可以把区间(μ-3σ,μ+3σ)看作是随机变量X实际可能的取值区间,这称之为正态分布的“3σ”原则。
在tf.truncated_normal中如果x的取值在区间(μ-2σ,μ+2σ)之外则重新进行选择。这样保证了生成的值都在均值附近。
参数:
shape: 一维的张量,也是输出的张量。
mean: 正态分布的均值。
stddev: 正态分布的标准差。
dtype: 输出的类型。
seed: 一个整数,当设置之后,每次生成的随机数都一样。
name: 操作的名字。
从正态分布中输出随机值。
参数:
shape: 一维的张量,也是输出的张量。
mean: 正态分布的均值。
stddev: 正态分布的标准差。
dtype: 输出的类型。
seed: 一个整数,当设置之后,每次生成的随机数都一样。
name: 操作的名字。
代码
2
3
4
5
6
7
8
9
10
11
12
13
指定seed之后,a的值不变,b的值也不变。
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)1
从截断的正态分布中输出随机值。
生成的值服从具有指定平均值和标准偏差的正态分布,如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。
在正态分布的曲线中,横轴区间(μ-σ,μ+σ)内的面积为68.268949%。
横轴区间(μ-2σ,μ+2σ)内的面积为95.449974%。
横轴区间(μ-3σ,μ+3σ)内的面积为99.730020%。
X落在(μ-3σ,μ+3σ)以外的概率小于千分之三,在实际问题中常认为相应的事件是不会发生的,基本上可以把区间(μ-3σ,μ+3σ)看作是随机变量X实际可能的取值区间,这称之为正态分布的“3σ”原则。
在tf.truncated_normal中如果x的取值在区间(μ-2σ,μ+2σ)之外则重新进行选择。这样保证了生成的值都在均值附近。
参数:
shape: 一维的张量,也是输出的张量。
mean: 正态分布的均值。
stddev: 正态分布的标准差。
dtype: 输出的类型。
seed: 一个整数,当设置之后,每次生成的随机数都一样。
name: 操作的名字。
tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)1
从正态分布中输出随机值。
参数:
shape: 一维的张量,也是输出的张量。
mean: 正态分布的均值。
stddev: 正态分布的标准差。
dtype: 输出的类型。
seed: 一个整数,当设置之后,每次生成的随机数都一样。
name: 操作的名字。
代码
a = tf.Variable(tf.random_normal([2,2],seed=1)) b = tf.Variable(tf.truncated_normal([2,2],seed=2)) init = tf.global_variables_initializer() with tf.Session() as sess: sess.run(init) print(sess.run(a)) print(sess.run(b)) 输出: [[-0.81131822 1.48459876] [ 0.06532937 -2.44270396]] [[-0.85811085 -0.19662298] [ 0.13895047 -1.22127688]]1
2
3
4
5
6
7
8
9
10
11
12
13
指定seed之后,a的值不变,b的值也不变。
相关文章推荐
- tensorflow生成随机数的操作 tf.random_normal & tf.random_uniform & tf.truncated_normal & tf.random_shuffle
- 第一阶段-入门详细图文讲解tensorflow1.4 API-tf.truncated_normal
- 5. tensorflow之tf.random_normal_initializer
- Tensorflow系列:tf.random_normal
- tf.truncated_normal与tf.random_normal的区别
- tf.truncated_normal与tf.random_normal
- tf.truncated_normal与tf.random_normal
- 利用tf.truncated_normal与tf.random_normal进行张量初始化的详解
- TensorFlow学习笔记:tf.random_normal
- Tensorflow API——tf.random_normal_initializer
- 11、Tensorflow:tf.truncated_normal的用法详解
- Tensorflow(r1.4)API--tf.truncated_normal()
- tf.truncated_normal与tf.random_normal
- TensorFlow学习笔记(十六)tf.random_normal
- tf.truncated_normal与tf.random_normal的详细用法
- tf.truncated_normal 与 tf.random_normal 用法
- Tensorflow函数:tf.random_normal
- tf.truncated_normal的用法
- Tensorflow函数——tf.set_random_seed(seed)
- Tensorflow随机数生成种子tf.set_random_seed()