tf.truncated_normal與tf.random_normal

tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

從截斷的正態(tài)分布中輸出隨機值。
生成的值服從具有指定平均值和標準偏差的正態(tài)分布,如果生成的值大于平均值2個標準偏差的值則丟棄重新選擇。

在正態(tài)分布的曲線中,橫軸區(qū)間(μ-σ,μ+σ)內(nèi)的面積為68.268949%。
橫軸區(qū)間(μ-2σ,μ+2σ)內(nèi)的面積為95.449974%。
橫軸區(qū)間(μ-3σ,μ+3σ)內(nèi)的面積為99.730020%。
X落在(μ-3σ,μ+3σ)以外的概率小于千分之三,在實際問題中常認為相應的事件是不會發(fā)生的,基本上可以把區(qū)間(μ-3σ,μ+3σ)看作是隨機變量X實際可能的取值區(qū)間,這稱之為正態(tài)分布的“3σ”原則。
在tf.truncated_normal中如果x的取值在區(qū)間(μ-2σ,μ+2σ)之外則重新進行選擇。這樣保證了生成的值都在均值附近。

參數(shù):

  • shape: 一維的張量,也是輸出的張量。
  • mean: 正態(tài)分布的均值。
  • stddev: 正態(tài)分布的標準差。
  • dtype: 輸出的類型。
  • seed: 一個整數(shù),當設(shè)置之后,每次生成的隨機數(shù)都一樣。
  • name: 操作的名字。
tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

從正態(tài)分布中輸出隨機值。
參數(shù):

  • shape: 一維的張量,也是輸出的張量。
  • mean: 正態(tài)分布的均值。
  • stddev: 正態(tài)分布的標準差。
  • dtype: 輸出的類型。
  • seed: 一個整數(shù),當設(shè)置之后,每次生成的隨機數(shù)都一樣。
  • 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]]

指定seed之后,a的值不變,b的值也不變。

轉(zhuǎn)載自https://blog.csdn.net/u013713117/article/details/65446361

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容