vendredi 18 mai 2018

Numpy: random number generation - breaking loop into chunks

A question regarding the generation of random numbers in Numpy.

I have a code which does the following:

import numpy as np

for i in range(very_big_number):

    np.random.randn(5)

    # other stuff that uses the generated random numbers

since unfortunately very_big_number can really be a very large number, I wanted to break this loop into chunks, say e.g. call 10 times the same

for i in range(very_big_number/10):

    np.random.randn(5)

    # other stuff that uses the generated random numbers

and then collate all the output together. However, I want to make sure that this division into blocks preserves the randomness of my generated numbers.

My question is:reading the numpy docuemntation or equivalently this question on StackOverflow, I would be tempted to think that it is enough to just divide the loops and run the subloops on e.g. ten different cores at the same time. However I would like to know if that is correct or if I should set some random number seed and if so, how.




Aucun commentaire:

Enregistrer un commentaire