【发布时间】:2022-01-22 11:19:45
【问题描述】:
这里是代码和结果:
python -c "import numpy as np; from timeit import timeit; print('numpy version {}: {:.1f} seconds'.format(np.__version__, timeit('np.random.multinomial(1, [0.1, 0.2, 0.3, 0.4])', number=1000000, globals=globals())))"
numpy version 1.16.6: 1.5 seconds # 10x faster
numpy version 1.18.1: 15.5 seconds
numpy version 1.19.0: 17.4 seconds
numpy version 1.21.4: 15.1 seconds
注意,固定随机种子,不同numpy版本的输出是一样的
python -c "import numpy as np; np.random.seed(0); print(np.__version__); print(np.random.multinomial(1, [0.1, 0.2, 0.3, 0.4], size=10000))" /tmp/tt
关于为什么 1.16.6 之后的 numpy 版本慢 10 倍的任何建议?
我们已经将pandas升级到最新版本1.3.4,1.16.6之后需要numpy版本
【问题讨论】:
-
更新日志是否显示了什么?
-
我填写了this issue 以获得 Numpy 团队的一些反馈,并询问他们是否可以改善这种情况。
标签: numpy performance multinomial