python - Numpy:随机数生成 - 将循环分成 block

标签 python numpy random

一个关于 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 真的可以是一个非常大的数字,我想把这个循环分成 block ,比如调用 10 次 相同

for i in range(very_big_number/10):

    np.random.randn(5)

    # other stuff that uses the generated random numbers

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

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

最佳答案

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

改为并行处理....

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

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

Joblib provides a simple helper class to write parallel for loops using multiprocessing

关于python - Numpy:随机数生成 - 将循环分成 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50415690/

相关文章:

c++ - 大数组的 CBLAS 段错误

带分数的概率的 PHP 数组

c - 随机数生成器 PCG 库。如何生成在一定范围内设置的 float 。 C语言工作示例

c++ - 兰特数字倾斜。 (C++)

Python - 在函数中使用来自另一个模块的函数

python - 我怎样才能让元组显示每个人的总和而不是单独显示?

python - 将时区感知日期时间列转换为具有 UTC 时间偏移量的字符串

python - 使用 ","对切片 numpy 数组的广播比较比 "]["慢很多

python - 如何在不停止整个脚本的情况下停止数据测量

python - 与 NumPy 等效的 Pandas nunique