numpy.random.SeedSequence#

класс numpy.random.SeedSequence(энтропия=None, *, spawn_key=(), pool_size=4, n_children_spawned=0)#

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

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

Параметры:
энтропия{None, int, sequence[int]}, опционально

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

spawn_key{(), sequence[int]}, необязательно

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

pool_size{int}, optional

Размер объединённой энтропии для хранения. По умолчанию 4, что даёт пул энтропии в 128 бит. 8 (для 256 бит) — ещё один разумный выбор при работе с более крупными ГПСЧ, но выбор другого значения даёт очень мало преимуществ.

n_children_spawned{int}, optional

Количество уже созданных дочерних процессов. Передавайте это только если восстанавливаете 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
Атрибуты:
энтропия
n_children_spawned
пул
pool_size
spawn_key
состояние

Методы

generate_state(n_words[, dtype])

Вернуть запрошенное количество слов для сидирования PRNG.

spawn(n_children)

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