Tensorflow函数

2022-02-16

设置图级随机种子。

依赖随机种子的操作实际上是从两个种子中获得的:图级种子和操作级种子。这将在图形级别设置种子。

它与操作级种子的交互如下:

1.如果没有设置图形层级和操作种子,则使用随机种子进行操作。

2.如果设置了图级种子,但没有设置操作种子:系统确定性地选择操作种子和图级种子,以获得唯一的随机序列。

3.如果未设置图级种子,但设置了操作种子:使用默认的图级种子和指定的操作种子来确定随机序列。

4.如果同时设置了图级种子和操作种子:两个种子一起使用以确定随机序列。

为了说明用户可见的效果,请考虑以下示例:

要跨会话生成不同的序列,既不设置图形级种子,也不设置操作级种子:

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'



要跨会话生成可操作的序列,请为操作设置种子:

a = tf.([1], 种子=1)

b = tf.([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:

参数:

种子:.

分类:

技术要点:

相关文章:

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片