会话级种子
设置随机函数的seed
参数,对应的变量可以跨session
生成相同的随机数:
- 例子
tf.reset_default_graph()
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'
结果:变量a跨会话生成的随机数相同,b则不同。
Session 1
[0.2390374]
[0.22267115]
[0.9374042]
[0.57995176]
Session 2
[0.2390374]
[0.22267115]
[-1.6857139]
[0.6809292]
图级种子
通过tf.set_random_seed
设定种子数,后面定义的全部变量都可以跨会话生成相同的随机数。
* 例子:
tf.reset_default_graph()
tf.set_random_seed(1234)
a = tf.random_uniform(