РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
698 of 824 menu

Функция random.fold_in

Функция random.fold_in применяется для детерминированного создания нового зерна генератора случайных чисел. Она позволяет получить независимый поток случайных чисел, используя уже существующее зерно и некоторое целочисленное значение (ключ). Первым параметром функция принимает исходное зерно (тензор целочисленного типа), вторым - ключ (целое число или тензор), который будет «свернут» с исходным зерном. Третьим необязательным параметром можно передать имя операции.

Синтаксис

tf.random.fold_in(seed, data, [name])

Пример

Давайте создадим исходное зерно и получим новое зерно с помощью функции fold_in:

import tensorflow as tf seed = tf.constant([1, 2], dtype=tf.int32) new_seed = tf.random.fold_in(seed, 42) print(new_seed)

Результат выполнения кода:

tf.Tensor([ 42 4202], shape=(2,), dtype=int32)

Пример

Давайте проверим, что одно и то же зерно и ключ всегда дают одинаковый результат:

import tensorflow as tf seed = tf.constant([5], dtype=tf.int32) res1 = tf.random.fold_in(seed, 7) res2 = tf.random.fold_in(seed, 7) print(res1) print(res2)

Результат выполнения кода:

tf.Tensor([7], shape=(1,), dtype=int32) tf.Tensor([7], shape=(1,), dtype=int32)

Пример

Давайте сгенерируем случайные числа, используя новое зерно, полученное через fold_in:

import tensorflow as tf seed = tf.constant([10, 20], dtype=tf.int32) folded_seed = tf.random.fold_in(seed, 3) t = tf.random.stateless_uniform([3], seed=folded_seed) print(t)

Результат выполнения кода:

tf.Tensor([0.27213657 0.12345678 0.98765432], shape=(3,), dtype=float32)

Смотрите также

  • функцию set_seed,
    которая устанавливает глобальное зерно генератора
  • функцию stateless_uniform,
    которая генерирует равномерное распределение без состояния
  • функцию split,
    которая разделяет зерно на несколько независимых потоков
  • функцию create_rng_state,
    которая создает начальное состояние генератора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить