我不知道你为什么想要设置种子——尤其是随机数,尤其是随机浮点数(注意random.seed 需要一个大整数)。 p>
但如果你这样做,很简单:调用numpy.random.seed 函数。
请注意,NumPy 的种子是 32 位整数的数组,而 Python 的种子是单个任意大小的整数(尽管请参阅文档了解传递其他类型时会发生什么)。
所以,例如:
In [1]: np.random.seed(0)
In [2]: s = np.random.randn(10)
In [3]: s
Out[3]:
array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799,
-0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])
In [4]: np.random.seed(0)
In [5]: s = np.random.randn(10)
In [6]: s
Out[6]:
array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799,
-0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])
相同的种子使用了两次(我采用了传递单个 int 的捷径,NumPy 将在内部将其转换为 1 个 int32 的数组),生成相同的随机数。