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

Функция random.stateless_categorical

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

Синтаксис

tf.random.stateless_categorical(logits, num_samples, seed, [dtype], [name])

Пример

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

<+python+> import tensorflow as tf logits = tf.constant([[1.0, 2.0, 3.0]]) res = tf.random.stateless_categorical( logits, num_samples=5, seed=[1, 2] ) print(res) <-python+>

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

<+python+> tf.Tensor( [[2 2 2 2 2]], shape=(1, 5), dtype=int64 ) <-python+>

Пример

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

<+python+> import tensorflow as tf logits = tf.constant([ [1.0, 1.0, 1.0], [5.0, 1.0, 1.0] ]) res = tf.random.stateless_categorical( logits, num_samples=3, seed=[42, 7] ) print(res) <-python+>

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

<+python+> tf.Tensor( [[1 0 2] [0 0 0]], shape=(2, 3), dtype=int64 ) <-python+>

Пример

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

<+python+> import tensorflow as tf logits = tf.constant([[1.0, 2.0, 3.0]]) res1 = tf.random.stateless_categorical( logits, num_samples=4, seed=[10, 20] ) res2 = tf.random.stateless_categorical( logits, num_samples=4, seed=[10, 20] ) print(tf.reduce_all(res1 == res2)) <-python+>

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

<+python+> tf.Tensor(True, shape=(), dtype=bool) <-python+>

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

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