RandomState
除了访问导入时创建的对象,还有更直接的方法np.random.<some function>.__self__
吗?两者兼而有之。np.random._rand
_ 前者工作正常,但似乎不是很透明/Pythonic,尽管最透明的可能只是创建一个单独的对象。目的是将变量传递给直接调用 randomkit 函数的 cython 函数。 getattr(np.random, "_rand")
AttributeError
RandomState
interal_state
问问题
230 次
2 回答
2
您可以使用np.random.get_state()
访问随机状态并np.random.set_state()
对其进行设置。
示例用法:
>>> import numpy as np
>>> state = np.random.get_state()
>>> np.random.rand()
0.5951085367670415
>>> np.random.set_state(state)
>>> np.random.rand()
0.5951085367670415
请注意,这state
只是一个元组
>>> state
('MT19937', array([3133054952, 999208925, 1226199620, ..., 3991712371, 943990344,
955790602], dtype=uint32), 624, 0, 0.0)
于 2017-07-19T12:36:39.680 回答
0
感谢 kazemakase 找到了答案:_rand 可以直接访问,我只需要导入 mtrand。但__self__
如果语法没有改变,可能会更有未来的证明。
于 2017-07-19T12:57:31.833 回答