numpy.random.SeedSequence
-
class numpy.random.SeedSequence(entropy=None, *, spawn_key=(), pool_size=4) -
SeedSequence смешивает источники энтропии воспроизводимым способом, чтобы установить начальное состояние для независимых и, очень вероятно, непересекающихся генераторов случайных битов.
После создания SeedSequence, вы можете вызвать метод
generate_state, чтобы получить начальное значение соответствующего размера. Вызовspawn(n)создастnSeedSequences, которые можно использовать для инициализации независимых генераторов случайных чисел, например, для разных потоков.- Параметры
-
-
entropy{None, int, sequence[int]}, optional -
Энтропия для создания
SeedSequence. -
spawn_key{(), sequence[int]}, optional -
Третий источник энтропии, используемый во время вызова
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
- pool_size
- spawn_key
- state
Методы
generate_state(n_words[, dtype])Возвращает нужное количество слов для инициализации генератора случайных чисел.
spawn(n_children)Создаёт заданное количество дочерних
SeedSequence, расширяяspawn_key.
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/random/bit_generators/generated/numpy.random.SeedSequence.html