首页 > 解决方案 > Numpy:随机数生成 - 将循环分成块

问题描述

关于在 Numpy 中生成随机数的问题。

我有一个执行以下操作的代码:

import numpy as np

for i in range(very_big_number):

    np.random.randn(5)

    # other stuff that uses the generated random numbers

因为不幸very_big_number的是真的可以是一个非常大的数字,我想把这个循环分成块,比如调用10 times相同的

for i in range(very_big_number/10):

    np.random.randn(5)

    # other stuff that uses the generated random numbers

然后将所有输出整理在一起。但是,我想确保这种划分为块保留了我生成的数字的随机性。

我的问题是:在 StackOverflow 上阅读 numpy 文档或等效的 这个问题,我很想只划分循环并同时在例如十个不同的核心上运行子循环就足够了。但是我想知道这是否正确,或者我是否应该设置一些随机数种子,如果是,如何设置。

标签: pythonnumpyrandom

解决方案


划分循环......随机性值得怀疑......

而是去并行处理....

如果您知道并行处理,请尝试下面所说的“Joblib”库或任何其他库....

https://pythonhosted.org/joblib/parallel.html

Joblib 提供了一个简单的帮助类来使用多处理编写并行 for 循环


推荐阅读