【TensorFlow】tf.truncated_normal与tf.random_normal区别

tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) 
函数的主要功能是实现从正态分布中输出随机值 
参数的意义: 
shape: 一维的张量,也是输出的张量。 
mean: 正态分布的均值。 
stddev: 正态分布的标准差。 
dtype: 输出的类型。
seed: 一个整数,当设置之后,每次生成的随机数都一样,如果想每次都生成不一样,可以设置为None。 
name: 操作名

tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) 
shape  一个一维整数张量或Python数组。代表张量的形状。    
mean=0.0  数据类型为dtype的张量值或Python值。是正态分布的均值。    
stddev=1.0  数据类型为dtype的张量值或Python值。是正态分布的标准差    
dtype=tf.float32  输出的数据类型。    
seed=None  一个Python整数。是随机种子。    
name=None  操作名(可选)
这个函数产生正太分布,均值和标准差自己设定。这是一个截断的产生正太分布的函数,就是说产生正太分布的值如果与均值的差值大于两倍的标准差,那就重新生成。和一般的正太分布的产生随机数据比起来,这个函数产生的随机数与均值的差距不会超过两倍的标准差,但是一般的别的函数是可能的。


作为tensorflow里的正态分布产生函数,这两个函数的输入参数几乎完全一致,
而其主要的区别在于,tf.truncated_normal的输出如字面意思是截断的,而截断的标准是2倍的stddev。


举例,当输入参数mean = 0 , stddev =1时,
使用tf.truncated_normal的输出是不可能出现[-2,2]以外的点的,
而如果shape够大的话,tf.random_normal却会产生2.2或者2.4之类的输出。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

McGregorWwww

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值