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