[Numpy-discussion] printable random seed ?
Robert Kern
robert.kern at gmail.com
Wed Sep 22 11:53:22 EDT 2010
On Wed, Sep 22, 2010 at 10:48, <josef.pktd at gmail.com> wrote:
> On Wed, Sep 22, 2010 at 10:34 AM, Robert Kern <robert.kern at gmail.com> wrote:
>> On Wed, Sep 22, 2010 at 09:27, <josef.pktd at gmail.com> wrote:
>>> I would like to generate random numbers based on a random seed, for
>>> example what numpy.random does if the seed is not specified. But I
>>> would also like to print out the initial state, so I can replicate the
>>> random numbers.
>>>
>>> Can I get a human readable or printable version of the initial state?
>>
>> [~]
>> |13> prng = np.random.RandomState()
>>
>> [~]
>> |14> prng2 = np.random.RandomState()
>>
>> [~]
>> |15> prng.randint(100, size=10)
>> array([74, 62, 56, 94, 86, 59, 69, 94, 42, 18])
>>
>> [~]
>> |16> prng2.randint(100, size=10)
>> array([21, 58, 34, 55, 9, 81, 45, 3, 93, 62])
>>
>> [~]
>> |17> prng2.set_state(prng.get_state())
>>
>> [~]
>> |18> prng.randint(100, size=10)
>> array([37, 57, 2, 0, 68, 9, 75, 88, 11, 7])
>>
>> [~]
>> |19> prng2.randint(100, size=10)
>> array([37, 57, 2, 0, 68, 9, 75, 88, 11, 7])
>>
>> [~]
>> |20> prng.get_state()
>>
>> ('MT19937',
>> array([1368120112, 957462593, 2623310617, 4207155283, 446940397,
>> 3506388262, 4104366519, 371500243, 4029407620, 899392379,
>> ....
>> 1843090101, 2484333397, 4085469971, 306955884, 23307203,
>> 1640066622, 48186677, 637144011, 854838500], dtype=uint32),
>> 26,
>> 0,
>> 2.5933437794758841e-288)
>>
>>> Alternatively, what's a good way to randomly generate an initial
>>> state?
>>
>> np.random.RandomState() will do the best thing on each platform.
>
> Thanks, I need to think about whether I want to save the full
> get_state() tuple (or cheat)
Save the whole thing.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
More information about the NumPy-Discussion
mailing list