首页 > 解决方案 > 在 TensorFlow 中,有没有办法在会话级别设置种子?

问题描述

我试图在运行会话时获得可重复的结果,但想在会话之间自由更改种子。像这样的东西:

a = tf.random_uniform([1])

#Set seed here to e.g. 123
with tf.Session() as sess:
   print(sess.run(a)) #Output: A1
   print(sess.run(a)) #Output: A2

#Set seed here to e.g. 42
with tf.Session() as sess:
   print(sess.run(a)) #Output: A3
   print(sess.run(a)) #Output: A4

#Set seed here to e.g. 123
with tf.Session() as sess:
   print(sess.run(a)) #Output: A1
   print(sess.run(a)) #Output: A2

如果我正确理解了 set_random_seed 页面,该方法似乎在图形级别设置种子,因此会话之间的结果将是相同的。事实上,根据该页面,似乎只能:

我找不到任何方法来灵活更改种子而无需重建图形。任何指向正确解决方案的指针都将受到高度赞赏。

标签: tensorflowrandom-seedbinary-reproducibility

解决方案


推荐阅读