Функция expm1
Функция expm1 применяется к тензору и вычисляет
значение выражения exp(x) - 1 для каждого элемента.
Первым параметром передаётся входной тензор или число.
Вторым параметром можно указать имя операции.
Функция полезна для вычислений с малыми значениями x,
где прямое вычитание единицы из экспоненты приводит
к потере точности из-за округления.
Синтаксис
tf.math.expm1(x, name=None)
Пример
Давайте вычислим значение функции для тензора
из чисел 1, 2, 3, 4, 5:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5], dtype=tf.float32)
res = tf.math.expm1(t)
print(res)
Результат выполнения кода:
tf.Tensor([ 1.7182817 6.389056 19.085537 53.59815 147.41316 ], shape=(5,), dtype=float32)
Пример
Давайте сравним точность функции expm1
и прямого вычисления exp(x) - 1 для малого значения 0.000001:
import tensorflow as tf
t = tf.constant([0.000001], dtype=tf.float32)
res = tf.math.expm1(t)
direct = tf.math.exp(t) - 1
print("expm1:", res.numpy())
print("direct:", direct.numpy())
<-python+>
Результат выполнения кода:
expm1: [1.0000004e-06]
direct: [1.013279e-06]
Пример
Давайте применим функцию к двумерному тензору:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32)
res = tf.math.expm1(t)
print(res)
Результат выполнения кода:
tf.Tensor(
[[ 1.7182817 6.389056 19.085537 ]
[ 53.59815 147.41316 402.4288 ]], shape=(2, 3), dtype=float32)