Метод truncated_normal класса Generator
Метод truncated_normal класса Generator генерирует тензор случайных значений из усеченного нормального распределения. Значения, выходящие за пределы двух стандартных отклонений от среднего, отбрасываются и перегенерируются. Первым параметром передается форма выходного тензора, вторым - среднее значение распределения, третьим - стандартное отклонение. Дополнительно можно указать тип данных.
Синтаксис
generator.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32)
Пример
Давайте создадим генератор и сгенерируем тензор формы 5 из усеченного нормального распределения:
import tensorflow as tf
tf.random.set_seed(0)
gen = tf.random.Generator.from_seed(0)
t = gen.truncated_normal(shape=(5,))
print(t)
Результат выполнения кода:
tf.Tensor([-0.19887409 0.7148462 -1.0466247 0.4714194 -0.53448147], shape=(5,), dtype=float32)
Пример
Давайте сгенерируем тензор с заданным средним 5.0 и стандартным отклонением 2.0:
import tensorflow as tf
tf.random.set_seed(0)
gen = tf.random.Generator.from_seed(0)
t = gen.truncated_normal(shape=(4,), mean=5.0, stddev=2.0)
print(t)
Результат выполнения кода:
tf.Tensor([5.329318 7.502405 4.786317 5.529104], shape=(4,), dtype=float32)
Пример
Давайте создадим двумерный тензор формы 2 на 3 с типом float64:
import tensorflow as tf
tf.random.set_seed(0)
gen = tf.random.Generator.from_seed(0)
t = gen.truncated_normal(shape=(2, 3), dtype=tf.float64)
print(t)
Результат выполнения кода:
tf.Tensor(
[[-0.19887409 0.7148462 -1.0466247 ]
[ 0.4714194 -0.53448147 0.15823087]], shape=(2, 3), dtype=float64)