lundi 8 juin 2020

Initiate different random number generators from the same seed (Python)

I have a base class with its random number generator rng. There are several subclasses that are initiated from this base class. I want to initiate a random number generator for each subclass separately. How can I do that without losing randomness?

What I am doing now? (It creates a huge variance between runs of different seeds)

seed = 1
rng = np.random.RandomState(seed)
BaseClass(rng)
for subclass in BaseClass.subclasses:
    subclass.rng = rng

What do I want to do?

seed = 1
rng = np.random.RandomState(seed)
BaseClass(rng)
for subclass in BaseClass.subclasses:
    subclass.rng = rng.initiate_new_random_number_generator()

I don't know what initiate_new_random_number_generator() should be in order to be still random. Are there any pointers to do this? Ideally, I would like to use PCG64 random number generator because of its low size requirements.




Aucun commentaire:

Enregistrer un commentaire