Функция random.stateless_uniform
Функция random.stateless_uniform генерирует тензор случайных чисел,
распределенных равномерно в заданном диапазоне. В отличие от random.uniform,
эта функция не использует и не изменяет глобальное состояние генератора,
а вместо этого принимает зерно (seed) в качестве первого параметра.
Первым параметром передается форма выходного тензора shape,
вторым - зерно seed (целое число или вектор из двух чисел),
третьим - нижняя граница диапазона minval (по умолчанию 0),
четвертым - верхняя граница maxval (по умолчанию 1),
пятым - тип данных dtype (по умолчанию float32).
Синтаксис
tf.random.stateless_uniform(shape, seed, [minval], [maxval], [dtype])
Пример
Давайте сгенерируем тензор из пяти случайных чисел
в диапазоне от 0 до 1 с фиксированным зерном:
import tensorflow as tf
t = tf.random.stateless_uniform([5], seed=[1, 2])
print(t)
Результат выполнения кода:
tf.Tensor([0.28158832 0.6342318 0.34634233 0.2987715 0.7936963 ], shape=(5,), dtype=float32)
Пример
Давайте сгенерируем случайные числа в диапазоне
от 10 до 20:
Результат выполнения кода:
tf.Tensor([12.815883 16.342318 13.463423 12.987715 17.936962], shape=(5,), dtype=float32)
Пример
Давайте сгенерируем двумерный тензор случайных чисел
размером 2 на 3 с типом float64:
import tensorflow as tf
t = tf.random.stateless_uniform([2, 3], seed=[5, 6], dtype=tf.float64)
print(t)
Результат выполнения кода:
tf.Tensor(
[[0.40779437 0.46329347 0.08883148]
[0.87541523 0.27971263 0.66382157]], shape=(2, 3), dtype=float64)
Пример
Давайте убедимся, что при одинаковом зерне результат всегда одинаковый:
import tensorflow as tf
t1 = tf.random.stateless_uniform([3], seed=[7, 8])
t2 = tf.random.stateless_uniform([3], seed=[7, 8])
print(t1)
print(t2)
Результат выполнения кода:
tf.Tensor([0.33794212 0.35402167 0.7776929 ], shape=(3,), dtype=float32)
tf.Tensor([0.33794212 0.35402167 0.7776929 ], shape=(3,), dtype=float32)
Смотрите также
-
функцию
uniform,
которая генерирует случайные числа из равномерного распределения -
функцию
stateless_normal,
которая генерирует случайные числа из нормального распределения без состояния -
функцию
stateless_categorical,
которая генерирует случайные категориальные значения без состояния -
функцию
set_seed,
которая устанавливает глобальное зерно генератора случайных чисел