[Numpy-discussion] printable random seed ?

Neal Becker ndbecker2 at gmail.com
Wed Sep 22 14:22:38 EDT 2010


josef.pktd at gmail.com wrote:

> On Wed, Sep 22, 2010 at 10:32 AM, Neal Becker <ndbecker2 at gmail.com> wrote:
>> 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?
>>> Alternatively, what's a good way to  randomly generate an initial
>>> state?
>>>
>>> I could draw an integer with randint and use it as seed. Is this the
>>> best way?
>>>
>>> Josef
>>
>> import struct
>> import os
>> seed = struct.unpack ('I', os.urandom (4))[0]
>> print seed
> 
> 
>>>> os.urandom(4)
> '\x02\xcf\xd5`'
>>>> np.array(os.urandom(4)).view(int)
> array(-452038899)
>>>> import struct
>>>> seed = struct.unpack ('I', os.urandom (4))[0]
>>>> seed
> 3650333822L
>>>> np.random.seed(seed)
> Traceback (most recent call last):
>   File "<pyshell#182>", line 1, in <module>
>     np.random.seed(seed)
>   File "mtrand.pyx", line 593, in mtrand.RandomState.seed
> (numpy\random\mtrand\mtrand.c:4786)
> OverflowError: long int too large to convert to int
> 
File to fit :)

That code was used with my own random number lib based on boost




More information about the NumPy-Discussion mailing list