Python 3.7与3.10环境下Numpy multivariate_normal同种子生成结果不一致问题咨询
Python 3.7与3.10环境下Numpy multivariate_normal同种子生成结果不一致问题咨询
我最近碰到一个很困惑的问题:同样的随机种子、同样的协方差矩阵,在Python 3.7搭配Numpy 1.21.5,和Python 3.10搭配Numpy 1.26.3的环境下,numpy.random.multivariate_normal生成的随机数结果完全不一样。
以下是我用来复现问题的代码:
import numpy as np cov = [[1, 0.6, 0.28, 0.4, 0.4], [0.6, 1, 0.35, 0.34, 0.4], [0.28, 0.35, 1, 0.4, 0.37], [0.4, 0.34, 0.4, 1, 0.3], [0.4, 0.4, 0.37, 0.3, 1]] np.random.seed(97) rands = np.random.multivariate_normal(mean=[0]*5, cov=cov, size=2) print(rands)
不同环境的输出结果
- Python 3.10.6 + Numpy 1.26.3 输出:
array([[1.28283472, 0.61756311, 1.16581242, 1.23132159, 2.03636479], [0.50796757, 0.26308658, 1.03859767, 0.70797761, 1.62774376]])
- Python 3.7.13 + Numpy 1.21.5 输出:
array([[1.0435602 , 1.14090287, 0.76909806, 2.15961647, 1.18447025], [0.63861344, 0.53924135, 0.66093208, 1.78844199, 0.47196233]])
我尝试过用相同版本的Numpy跨Python版本测试,但会触发Numpy的导入错误,没办法这么做。想请教一下大家,这种同种子但结果不一致的情况是怎么回事?
备注:内容来源于stack exchange,提问作者joker
相关产品推荐
相关产品推荐

