Spec-Zone.ru › NumPy 2.0

numpy.random.SeedSequence

classnumpy.random.SeedSequence(entropy=None, *, spawn_key=(), pool_size=4)

SeedSequence смешивает источники энтропии воспроизводимым образом, чтобы установить начальное состояние для независимых и, очень вероятно, неперекрывающихся BitGenerators.

После создания SeedSequence вы можете вызвать метод generate_state, чтобы получить подходящий по размеру seed. Вызов spawn(n) создаст n SeedSequence, которые могут быть использованы для инициализации независимых BitGenerators, т.е. для разных потоков.

Параметры:
entropy{None, int, последовательность[int]}, необязательно

Энтропия для создания SeedSequence. Все целочисленные значения должны быть неотрицательными.

spawn_key{(), последовательность[int]}, необязательно

Дополнительный источник энтропии, основанный на позиции этого SeedSequence в дереве таких объектов, созданных с помощью метода SeedSequence.spawn. Обычно, только SeedSequence.spawn установит это, а пользователи не будут.

pool_size{int}, необязательно

Размер пула энтропии для хранения. По умолчанию 4, чтобы получить пул энтропии размером 128 бит. 8 (для 256 бит) является другим разумным выбором, если вы работаете с большими PRNG, но в выборе другого значения мало выгоды.

n_children_spawned{int}, необязательно

Количество уже созданных дочерних элементов. Передавайте это только в том случае, если восстанавливаете SeedSequence из сериализованной формы.

Примечания

Лучшей практикой для достижения воспроизводимых потоков бит является использование значения по умолчанию None для начальной энтропии, а затем использование SeedSequence.entropy для протоколирования/сериализации entropy для воспроизводимости:

>>> sq1 = np.random.SeedSequence()
>>> sq1.entropy
243799254704924441050048792905230269161  # random
>>> sq2 = np.random.SeedSequence(sq1.entropy)
>>> np.all(sq1.generate_state(10) == sq2.generate_state(10))
True
Атрибуты:
entropy
n_children_spawned
pool
pool_size
spawn_key
state

Методы

generate_state(n_words[, dtype])

Возвращает необходимое количество слов для инициализации PRNG.

spawn(n_children)

Создает несколько дочерних SeedSequence расширяя spawn_key.

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/random/bit_generators/generated/numpy.random.SeedSequence.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API