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