Tensorflow函數——tf.set_random_seed(seed)


設置圖級隨機seed。

依賴於隨機seed的操作實際上從兩個seed中獲取:圖級和操作級seed。 這將設置圖級別的seed。

其與操作級seed的相互作用如下:

1.如果沒有設置圖形級別和操作seed,則使用隨機seed進行操作。
2.如果設置了圖級seed,但操作seed沒有設置:系統確定性地選擇與圖級seed一起的操作seed,以便獲得唯一的隨機序列。
3.如果沒有設置圖級seed,但是設置了操作seed:使用默認的圖級seed和指定的操作seed來確定隨機序列。
4.如果圖級和操作seed都被設置:兩個seed聯合使用以確定隨機序列。

為了說明用戶可見的效果,請考慮以下示例:

要跨會話生成不同的序列,既不設置圖級別也不設置op級別的seed:

 

a = tf.random_uniform([1]) b = tf.random_normal([1]) print("Session 1") with tf.Session() as sess1: print(sess1.run(a)) # generates 'A1' print(sess1.run(a)) # generates 'A2' print(sess1.run(b)) # generates 'B1' print(sess1.run(b)) # generates 'B2' print("Session 2") with tf.Session() as sess2: print(sess2.run(a)) # generates 'A3' print(sess2.run(a)) # generates 'A4' print(sess2.run(b)) # generates 'B3' print(sess2.run(b)) # generates 'B4'



要為跨會話生成一個可操作的序列,請為op設置seed:

a = tf.random_uniform([1], seed=1)
b = tf.random_normal([1])

# Repeatedly running this block with the same graph will generate the same # sequence of values for 'a', but different sequences of values for 'b'. print("Session 1") with tf.Session() as sess1: print(sess1.run(a)) # generates 'A1' print(sess1.run(a)) # generates 'A2' print(sess1.run(b)) # generates 'B1' print(sess1.run(b)) # generates 'B2' print("Session 2") with tf.Session() as sess2: print(sess2.run(a)) # generates 'A1' print(sess2.run(a)) # generates 'A2' print(sess2.run(b)) # generates 'B3' print(sess2.run(b)) # generates 'B4'




為了使所有op產生的隨機序列在會話之間是可重復的,請設置一個圖級別的seed:

tf.set_random_seed(1234) a = tf.random_uniform([1]) b = tf.random_normal([1]) # Repeatedly running this block with the same graph will generate different # sequences of 'a' and 'b'. print("Session 1") with tf.Session() as sess1: print(sess1.run(a)) # generates 'A1' print(sess1.run(a)) # generates 'A2' print(sess1.run(b)) # generates 'B1' print(sess1.run(b)) # generates 'B2' print("Session 2") with tf.Session() as sess2: print(sess2.run(a)) # generates 'A1' print(sess2.run(a)) # generates 'A2' print(sess2.run(b)) # generates 'B1' print(sess2.run(b)) # generates 'B2'


Args:

seed: integer.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM