【问题标题】:Difference between RandomState and seed in numpynumpy中RandomState和种子的区别
【发布时间】:2016-09-10 11:36:39
【问题描述】:

我已经阅读了文档,但我仍然很难理解使用的区别

numpy.random.RandomState(0) 

numpy.random.seed(0)

他们不是都确保选择随机值的过程在运行中是相同且一致的吗?

【问题讨论】:

标签: python numpy random


【解决方案1】:

numpy.random.seed(0) 重置现有全局 RandomState 实例的状态,该实例是 numpy.random 命名空间中函数的基础。

numpy.random.RandomState(0) 返回一个新的种子 RandomState 实例,但不会改变任何内容。您必须使用返回的 RandomState 实例来获得一致的伪随机数。如果您使用 numpy.random 命名空间中的函数,您将无法获得一致的伪随机数,因为它们是从与您刚刚创建的实例不同的 RandomState 实例中提取的。

如果您关心可重复性,最好将代码结构化为传递 RandomState 实例。全球状态很烂。参考文献Consistenly create same random numpy array

【讨论】:

    猜你喜欢
    • 2022-01-04
    • 2016-01-17
    • 2020-03-28
    • 2011-10-09
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    相关资源
    最近更新 更多