tensorflow之tf.truncated_normal的用法

tensorflow函数用法

一、tf.truncated_normal的用法

tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) :
shape表示生成张量的维度(a * a),mean是均值,stddev是标准差
这个函数产生正态分布,均值和标准差自己设定。这是一个截断的产生正态分布的函数,生成的值服从具有指定平均值和标准偏差的正态分布,换句话说,产生的值如果与均值的差值大于两倍的标准差则丢弃重新选择。和一般的正态分布的产生随机数据比起来,这个函数产生的随机数与均值的差距不会超过两倍的标准差,但是一般的别的函数是可能的。

在正态分布的曲线中:
横轴区间(μ-σ,μ+σ)内的面积为68.268949%
横轴区间(μ-2σ,μ+2σ)内的面积为95.449974%
横轴区间(μ-3σ,μ+3σ)内的面积为99.730020%

X落在(μ-3σ,μ+3σ)以外的概率小于千分之三,在实际问题中常认为相应的事件是不会发生的,基本上可以把区间(μ-3σ,μ+3σ)看作是随机变量X实际可能的取值区间,这称之为正态分布的“3σ”原则。
在tf.truncated_normal中如果x的取值在区间(μ-2σ,μ+2σ)之外则重新进行选择。这样保证了生成的值都在均值附近。

import tensorflow as tf
c = tf.truncated_normal(shape = [3,3],mean = 0 , stddev = 1)
with tf.Session() as sess:
    print(sess.run(c))
    

输出结果为:

参数:

shape: 一维整数张量或 Python 数组(输出张量的形状)比如3 * 3

mean: 正态分布的均值

stddev: 正态分布的标准差

dtype: 输出的类型

扫描二维码关注公众号,回复: 16117899 查看本文章

seed: 一个整数,当设置之后,每次生成的随机数都一样

name: 操作的名字(可选)
 


原文链接:https://blog.csdn.net/skldecsdn/article/details/87903166

猜你喜欢

转载自blog.csdn.net/qq_58611650/article/details/128521567