np.random.seed нужно вызывать каждый раз - PullRequest
0 голосов
/ 27 июня 2018

Следующие две версии кода должны были дать одинаковый вывод. Похоже, что np.random.seed нужно вызывать каждый раз. Это правильно?

Есть ли способ установить начальное значение один раз, чтобы каждый раз генерировалось одно и то же случайное число

np.random.seed(0)
for _ in range(10):
    print(np.random.randint(low=1, high=100))

Выход: 45 48 65 68 68 10 84 22 37 88

for _ in range(10):
    np.random.seed(0)
    print(np.random.randint(low=1, high=100))

Выход: 45 45 45 45 45 45 45 45 45 45

1 Ответ

0 голосов
/ 27 июня 2018

Если вы не используете криптографически безопасный генератор случайных чисел, случайные числа на самом деле не случайны. Вы используете псевдо генератор случайных чисел, что означает, что вы перебираете фиксированную таблицу предопределенных чисел. Заполнение случайного числа означает выбор записи в той таблице, которую вы хотите использовать в первую очередь. Посеять его каждый раз перед тем, как создать случайное число в той же позиции , означает, что вы всегда получите одно и то же число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...