Следует ли мне использовать генератор случайных чисел numpy? - PullRequest
4 голосов
/ 29 мая 2020

У меня большой код Python, который я поддерживаю / обновляю / расширяю с ~ 2014 года. Недавно я столкнулся с политикой генератора случайных чисел numpy (2018-05), и теперь я немного запутался.

Я не уверен, что изменилось, и если я должен соответствующим образом обновить свой код, чтобы использовать новый Генератор случайных чисел . Например, документы Случайная выборка говорят:

# Do this
from numpy.random import default_rng
rng = default_rng()
vals = rng.standard_normal(10)
more_vals = rng.standard_normal(10)

# instead of this
from numpy import random
vals = random.standard_normal(10)
more_vals = random.standard_normal(10)

Весь мой код зависит от (старого?) Синтаксиса, показанного во втором блоке (т. Е. Я не использую default_rng но простые вызовы np.random.seed(), np.random.uniform(), np.random.normal(), et c), и я не знаю, почему я должен использовать первый блок вместо второго.

Может кто-нибудь пролить свет на это, пожалуйста?

1 Ответ

0 голосов
/ 29 мая 2020

1.В python2 (старый код) default_rng недоступен.

2. В python3 (новый код) и первый, и второй блоки, которые вы упомянули, будут выполняться без ошибок и выполняться.

3. В будущем они могут исключить random.standard_normal из следующих версий python, поэтому они упомянули об использовании default_rng вместо random.standard_normal

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