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

Функция random.split

Функция random.split применяется для разделения состояния генератора случайных чисел на несколько независимых состояний. Первым параметром функция принимает состояние генератора seed, которое можно создать с помощью create_rng_state или set_seed. Вторым параметром передается количество новых состояний num. В результате возвращается тензор с новыми состояниями генератора.

Синтаксис

tf.random.split(seed, num)

Пример

Давайте создадим состояние генератора и разделим его на два независимых состояния:

import tensorflow as tf seed = tf.random.set_seed(0) seeds = tf.random.split(seed, 2) print(seeds)

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

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

Пример

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

import tensorflow as tf seed = tf.random.set_seed(0) seeds = tf.random.split(seed, 2) res1 = tf.random.uniform([3], seed=seeds[0]) res2 = tf.random.uniform([3], seed=seeds[1]) print(res1) print(res2)

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

tf.Tensor([0.29197526 0.51007926 0.25992274], shape=(3,), dtype=float32) tf.Tensor([0.44660342 0.8403026 0.39462793], shape=(3,), dtype=float32)

Пример

Давайте разделим состояние генератора на четыре части и проверим их форму:

<+python+> import tensorflow as tf seed = tf.random.set_seed(0) seeds = tf.random.split(seed, 4) print(seeds) print(seeds.shape) <-python+>

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

tf.Tensor( [[0 0] [0 1] [0 2] [0 3]], shape=(4, 2), dtype=int32) (4, 2)

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

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