numpy.random.SeedSequence#
- класс numpy.random.SeedSequence(энтропия=None, *, spawn_key=(), pool_size=4, n_children_spawned=0)#
SeedSequence смешивает источники энтропии воспроизводимым образом, чтобы установить начальное состояние для независимых и, вероятно, неперекрывающихся BitGenerators.
После создания экземпляра SeedSequence, вы можете вызвать
generate_stateметод для получения семени соответствующего размера. Вызовspawn(n)создастnSeedSequences, которые можно использовать для инициализации независимых 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)Создать несколько дочерних
SeedSequences путем расширенияspawn_key.