Я использую numpy, чтобы установить случайное состояние для моего RandomState
объекта, но обнаружив, что при вызове метода randn()
для объекта я иногда получаю новые "случайные" числа каждый раз, когда я вызываю randn()
, Установив случайное начальное число, я ожидаю, что каждый раз получаю одни и те же результаты, поскольку в документации numpy говорится следующее:
Фиксированное начальное число и фиксированная серия вызовов методов RandomState. использование одних и тех же параметров всегда приводит к одним и тем же результатам.
Я заметил, что если я инициализирую rng
в той же ячейке, что и ячейка, в которой я создаю random_y
, результаты остаются согласованными ( одни и те же массивы генерируются каждый раз). Однако, если я инициализирую rng
в другой ячейке, значения random_y
изменятся. Например:
##cell 1:
import numpy as np
rng = np.random.RandomState(2)
#cell2:
x = np.linspace(0,10,500) #linspace: generate numbers a to b in steps of c, inclusive of both
random_y = rng.randn(500,6)
random_y
это приведет к новым значениям random_y
каждый раз, когда я запускаю две ячейки. Однако, если бы я объединил эти две ячейки в одну и повторно запустил, random_y
останется прежним c. Почему это?