我有一个大型 Python 代码,自 2014 年以来一直在维护/更新/扩展。最近我看到了随机数生成器策略numpy(2018-05),现在我有点困惑。
我不确定发生了什么变化,以及是否应该相应地升级我的代码以使用新的Random Generator。例如,随机抽样文档说:
# Do this
from numpy.random import default_rng
rng = default_rng()
vals = rng.standard_normal(10)
more_vals = rng.standard_normal(10)
# instead of this
from numpy import random
vals = random.standard_normal(10)
more_vals = random.standard_normal(10)
Run Code Online (Sandbox Code Playgroud)
我的所有代码都取决于第二个块中显示的(旧的?)语法(即,我不使用对、、等default_rng的简单调用),并且我不知道为什么应该使用第一个块而不是第二块。np.random.seed()np.random.uniform()np.random.normal()
有人可以解释一下吗?
小智 -1
1.在python2(旧代码)中default_rng不可用。
2.在python3(新代码)中,您提到的第一个和第二个块都将运行而不会出现错误并执行。
3.将来他们可能会从未来的Python版本中删除random.standard_normal,这就是为什么他们提到使用default_rng而不是random.standard_normal
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |