Функция random.stateless_normal
Функция random.stateless_normal генерирует тензор случайных значений из нормального распределения. Первым параметром функция принимает форму тензора shape. Вторым параметром передается зерно генератора seed. Третьим параметром можно передать среднее значение mean. Четвертым - стандартное отклонение stddev. Пятым - тип данных dtype. Главная особенность функции в том, что она не использует глобальное состояние генератора, поэтому результат зависит только от переданного зерна.
Синтаксис
tf.random.stateless_normal(shape, seed, [mean], [stddev], [dtype])
Пример
Давайте сгенерируем тензор из трех случайных значений с фиксированным зерном:
import tensorflow as tf
t = tf.random.stateless_normal([3], seed=[1, 2])
print(t)
Результат выполнения кода:
tf.Tensor([ 0.31450057 -0.3647206 -0.38984188], shape=(3,), dtype=float32)
Пример
Давайте сгенерируем тензор с заданным средним значением и стандартным отклонением:
import tensorflow as tf
t = tf.random.stateless_normal([5], seed=[1, 2], mean=10.0, stddev=2.0)
print(t)
Результат выполнения кода:
tf.Tensor([10.629001 9.270559 9.220316 10.045779 10.08605 ], shape=(5,), dtype=float32)
Пример
Давайте сгенерируем двумерный тензор и убедимся, что при одинаковом зерне результат повторяется:
import tensorflow as tf
t1 = tf.random.stateless_normal([2, 3], seed=[1, 2])
t2 = tf.random.stateless_normal([2, 3], seed=[1, 2])
print(t1)
print(t2)
Результат выполнения кода:
tf.Tensor(
[[ 0.31450057 -0.3647206 -0.38984188]
[ 0.35257554 -0.11015762 -1.2131646 ]], shape=(2, 3), dtype=float32)
tf.Tensor(
[[ 0.31450057 -0.3647206 -0.38984188]
[ 0.35257554 -0.11015762 -1.2131646 ]], shape=(2, 3), dtype=float32)
Смотрите также
-
функцию
normal,
которая генерирует значения из нормального распределения с состоянием -
функцию
stateless_uniform,
которая генерирует равномерно распределенные значения без состояния -
функцию
truncated_normal,
которая генерирует усеченные нормальные значения -
функцию
create_rng_state,
которая создает состояние генератора случайных чисел