【问题标题】:Gloabl Seed and Operation Seed in Tensorflow2Tensorflow 2 中的全局种子和操作种子
【发布时间】:2020-08-06 16:25:10
【问题描述】:

TensorFlow中的全局种子和操作种子有什么区别。

根据tensorflow documentation

在解释 Global Seed 时,他们提到了这一点

如果设置了全局种子但未设置操作种子我们得到 每次调用随机操作的结果都不同,但相同 每次重新运行程序的顺序

在解释“种子行动”时,他们再次声明,类似的东西

如果设置了操作种子每次调用都会得到不同的结果 到随机操作,但每次重新运行的顺序相同 程序

两者之间的主要区别是什么......以及它们如何在直观的层面上运作。

谢谢。

【问题讨论】:

    标签: tensorflow tensorflow2.0


    【解决方案1】:

    这是对差异的很好描述:https://www.kite.com/python/docs/tensorflow.set_random_seed

    简而言之,tf.random.set_seedtf.set_random_seed 将保证所有操作都会在会话中产生可重复的结果。它将为每个操作确定性地设置操作种子。

    设置操作种子仅作为操作定义tf.random_uniform([1], seed=1) 的一部分才有意义,并且还会导致此操作在会话中产生相同的序列。

    有什么区别?

    • graph-seed 使所有操作重复确定。如果您想修复所有操作,请使用它。不同的操作仍会产生不同的序列(但会在会话中重复)
    • operation-seed 使单个操作具有确定性。您可以创建 2 个生成相同序列的操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-23
      • 1970-01-01
      • 1970-01-01
      • 2017-10-22
      • 1970-01-01
      相关资源
      最近更新 更多