Это правда, что иногда бывает полезно убедиться, что вы получаете свою энтропию из определенного (неглобального) потока. В принципе, все, что вам нужно сделать, - создать объект RandomState, а затем использовать его методы вместо использования случайных функций numpy. Например, вместо
>>> np.random.seed(3)
>>> np.random.rand()
0.5507979025745755
>>> np.random.randint(10**3, 10**4)
7400
Вы могли бы написать
>>> R = np.random.RandomState(3)
>>> R
<mtrand.RandomState object at 0x7f79b3315f28>
>>> R.rand()
0.5507979025745755
>>> R.randint(10**3, 10**4)
7400
Так все, что вам нужно сделать, это сделать R
, а затем использовать R.
вместо np.random.
- довольно просто. И вы можете передавать R вокруг, как хотите, и иметь несколько случайных потоков (если вы хотите, чтобы определенный процесс был таким же, пока другие изменения и т. Д.)
... так откуда вы это читали? В чем проблема с 'np.random.seed'? – jonrsharpe
В [этот вопрос] (http://stackoverflow.com/questions/5836335/consistenly-create-same-random-numpy-array). Посмотрите на второй ответ, а также на [этот комментарий] (http://stackoverflow.com/questions/5836335/consistenly-create-same-random-numpy-array#comment6702590_5836372) – kujaw
Что вы попробовали? Какой результат вы получили, что заставляет вас думать, что это не сработало? –