当前位置:网站首页>tf.truncated_normal()用法

tf.truncated_normal()用法

2022-07-26 03:10:00 phac123

文章目录

简述

tf.truncated_normal(shape, mean=0.0, stddev=1.0, 
dtype=tf.float32, seed=None, name=None)
  • 这个函数产生正态分布;这是一个截断的产生正态分布的函数,生成的数值服从具有指定平均值和标准偏差的正态分布,换句话说,产生的值如果与均值的差值大于两倍的标准差则丢弃重新选择;这个函数和一般的正态分布产生的随机数据相比,这个函数产生的随机数与均值的差距不会超过两倍的标准差,但是一般的别的函数是可能的。
  • shape:表示生成张量的维度
  • mean:均值
  • stddev:标准差
  • dtype:输出的类型
  • seed:一个整数,当设置之后,每次生成的随机数都一样
  • name:操作的名字

此外:在正态分布的曲线中:
横轴区间(μ-σ,μ+σ)内的面积为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._api.v2.compat.v1 as tf
tf.disable_v2_behavior()

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

输出:

''' [[-0.04338798 0.9103105 -1.0928041 ] [ 0.1483252 -0.11247149 -1.2393879 ] [ 0.5323354 0.946114 -0.66076565]] '''
原网站

版权声明
本文为[phac123]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_42596275/article/details/125974284