gpt4 book ai didi

python - 用随机数填充numpy数组的最快方法

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:51 28 4
gpt4 key购买 nike

有没有比内置的 numpy.random.rand(count) 函数更快的方法来获取填充随机数的 numpy 数组?我知道内置方法正在使用 Mersenne Twister。

我想使用 numpy 进行蒙特卡洛模拟,而获取随机数占用了很大一部分时间。一个简单的例子,通过蒙特卡洛积分与 200E6 个随机数计算 pi 通过我的程序仅处理大约 116.8 MB/s。使用 xor128() 作为生成器处理数百 MB/s 的 C++ 编写的可比程序。

编辑:计算错误的生成率

最佳答案

您或许可以通过降低准确性来略微提高性能 - 如果这是可以接受的。我通过使用 randint 和缩放来做到这一点:

使用 ipython %%timeit

count =1000

numpy.random.rand(count)

10000 loops, best of 3: 24.3us per loop

numpy.random.randint(0,1000,count)*0.001

10000 loops, best of 3: 21.4us per loop

关于python - 用随机数填充numpy数组的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19830697/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com