[英]module 'tensorflow' has no attribute 'set_random_seed' for RASA NLU supervised embeddings pipeline trainer
[英]Tensorflow `set_random_seed` not working
tf.set_random_seed(SEED)
沒有任何影響,我可以告訴... 例如, 在IPython筆記本中多次運行下面的代碼每次都會產生不同的輸出:
import tensorflow as tf
tf.set_random_seed(42)
sess = tf.InteractiveSession()
a = tf.constant([1, 2, 3, 4, 5])
tf.initialize_all_variables().run()
a_shuf = tf.random_shuffle(a)
print(a.eval())
print(a_shuf.eval())
sess.close()
如果我明確設置種子: a_shuf = tf.random_shuffle(a, seed=42)
,每次運行后輸出相同。 但是,如果我已經調用tf.set_random_seed(42)
為什么還需要設置種子?
使用numpy的等效代碼正常工作:
import numpy as np
np.random.seed(42)
a = [1,2,3,4,5]
np.random.shuffle(a)
print(a)
這僅設置圖級隨機種子。 如果連續多次執行此代碼段,圖表將會更改,兩個shuffle語句將獲得不同的操作級別種子。 詳細信息在set_random_seed
的doc字符串中set_random_seed
要獲得確定性的a_shuf
你也可以
tf.reset_default_graph()
a_shuf = tf.random_shuffle(a, seed=42)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.