关于在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
然后将所有输出整理在一起。但是,我想确保这种划分为块保留了生成数字的随机性。
我的问题是:阅读numpy docuemntation或等效 关于StackOverflow的this问题,我很想认为仅仅划分循环并运行子循环就足够了同时有十个不同的核心。但是,我想知道这是否正确,或者我是否应该设置一些随机数种子,如果是,那么如何。
答案 0 :(得分:0)
划分循环......随机性是有问题的......
而是进行并行处理......
如果您知道并行处理,请尝试下面说的“Joblib”库或任何其他库....
https://pythonhosted.org/joblib/parallel.html
Joblib提供了一个简单的辅助类来编写并行for循环 使用多处理