tf.truncated_normal和tf.random_normal使用方法的区别
生活随笔
收集整理的這篇文章主要介紹了
tf.truncated_normal和tf.random_normal使用方法的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、tf.truncated_normal使用方法 tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) 從截斷的正態分布中輸出隨機值。 生成的值服從具有指定平均值和標準偏差的正態分布,如果生成的值大于平均值2個標準偏差的值則丟棄重新選擇。 在正態分布的曲線中,橫軸區間(μ-σ,μ+σ)內的面積為68.268949%。 橫軸區間(μ-2σ,μ+2σ)內的面積為95.449974%。 橫軸區間(μ-3σ,μ+3σ)內的面積為99.730020%。 X落在(μ-3σ,μ+3σ)以外的概率小于千分之三,在實際問題中常認為相應的事件是不會發生的,基本上可以把區間(μ-3σ,μ+3σ)看作是隨機變量X實際可能的取值區間,這稱之為正態分布的“3σ”原則。 在tf.truncated_normal中如果x的取值在區間(μ-2σ,μ+2σ)之外則重新進行選擇。這樣保證了生成的值都在均值附近。 參數: ??? shape: 一維的張量,也是輸出的張量。 ??? mean: 正態分布的均值。 ??? stddev: 正態分布的標準差。 ??? dtype: 輸出的類型。 ??? seed: 一個整數,當設置之后,每次生成的隨機數都一樣。 ??? name: 操作的名字 2、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: 一個整數,當設置之后,每次生成的隨機數都一樣。 ??? 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]] 從截斷的正態分布中輸出隨機值。 生成的值服從具有指定平均值和標準偏差的正態分布,如果生成的值大于平均值2個標準偏差的值則丟棄重新選擇。 在正態分布的曲線中,橫軸區間(μ-σ,μ+σ)內的面積為68.268949%。 橫軸區間(μ-2σ,μ+2σ)內的面積為95.449974%。 橫軸區間(μ-3σ,μ+3σ)內的面積為99.730020%。 X落在(μ-3σ,μ+3σ)以外的概率小于千分之三,在實際問題中常認為相應的事件是不會發生的,基本上可以把區間(μ-3σ,μ+3σ)看作是隨機變量X實際可能的取值區間,這稱之為正態分布的“3σ”原則。 在tf.truncated_normal中如果x的取值在區間(μ-2σ,μ+2σ)之外則重新進行選擇。這樣保證了生成的值都在均值附近。
轉載于:https://www.cnblogs.com/jyxbk/p/8006464.html
總結
以上是生活随笔為你收集整理的tf.truncated_normal和tf.random_normal使用方法的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RAC起单实例make
- 下一篇: 在popup窗口中俘获事件的缺陷修复