天天看點

tf.truncated_normal的用法tensorflow函數用法

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))
    
           

輸出結果為:

tf.truncated_normal的用法tensorflow函數用法

參數:

shape: 一維整數張量或 Python 數組(輸出張量的形狀)比如3 * 3

mean: 正态分布的均值

stddev: 正态分布的标準差

dtype: 輸出的類型

seed: 一個整數,當設定之後,每次生成的随機數都一樣

name: 操作的名字(可選)