Numpy 相关

一些在使用 Numpy 时需要注意的东西

随机数生成

为保证实验结果可复现,一般我们使用 np.random.seed(number) 来固定随机种子,之后可保证调用随机数生成器产生的结果相同。

但是在项目规模较大,且需要导入其他包时,这种固定随机种子的办法可能会出现一定问题。 原因在于其他的包中,可能同样会设定其他的全局随机种子 np.random.seed(other_number)。 导致之后生成的样本不是按照自己设定的随机种子来生成。

“The preferred best practice for getting reproducible pseudorandom numbers is to instantiate a generator object with a seed and pass it around” — Robert Kern, NEP19.

解决方法是定义一个随机数生成器,并将其传送到需要使用随机数的地方。

1
2
3
4
import numpy as np
>>> rng = np.random.default_rng(2021)
>>> rng.random(4)
array([0.75694783, 0.94138187, 0.59246304, 0.31884171])

Reference:


Numpy 相关
https://blog.superui.cc/programming/numpy/
作者
Superui
发布于
2021年8月11日
许可协议