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

Функция expm1

Функция expm1 вычисляет exp(x) - 1 для каждого элемента тензора. Она принимает тензор в качестве входного параметра и возвращает новый тензор с результатами поэлементного вычисления. Эта функция особенно полезна для малых значений x, где вычисление exp(x) - 1 напрямую может привести к потере точности из-за вычитания близких чисел.

Функция expm1 является обратной по отношению к функции log1p, которая вычисляет log(1 + x).

Синтаксис

torch.expm1(input, *, out=None)

Входной параметр input (тензор) - тензор, для которого вычисляется выражение exp(x) - 1. Необязательный параметр out (тензор) - тензор для записи результата.

Пример

Давайте вычислим exp(x) - 1 для элементов тензора:

import torch t = torch.tensor([0.0, 1.0, 2.0, 3.0]) res = torch.expm1(t) print(res)

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

tensor([ 0.0000, 1.7183, 6.3891, 19.0855])

Пример

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

import torch # Small values where exp(x) is close to 1 t = torch.tensor([1e-8, 1e-7, 1e-6]) # Direct calculation direct = torch.exp(t) - 1 # Using expm1 accurate = torch.expm1(t) print("Direct: ", direct) print("expm1: ", accurate) print("Difference:", direct - accurate)

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

Direct: tensor([1.0000e-08, 1.0000e-07, 1.0000e-06]) expm1: tensor([1.0000e-08, 1.0000e-07, 1.0000e-06]) Difference: tensor([0., 0., 0.])

Пример

Давайте применим expm1 к двумерному тензору:

import torch t = torch.tensor([ [-1.0, 0.0, 1.0], [0.5, -0.5, 2.0], ]) res = torch.expm1(t) print(res)

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

tensor([ [-0.6321, 0.0000, 1.7183], [ 0.6487, -0.3935, 6.3891], ])

Пример

Давайте используем параметр out для записи результата в существующий тензор:

import torch t = torch.tensor([1.0, 2.0, 3.0]) out_tensor = torch.empty(3) torch.expm1(t, out=out_tensor) print(out_tensor)

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

tensor([1.7183, 6.3891, 19.0855])

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

  • функцию exp,
    которая вычисляет экспоненту от каждого элемента тензора
  • функцию log1p,
    которая вычисляет натуральный логарифм от (1 + x) для элементов тензора
  • функцию log,
    которая вычисляет натуральный логарифм от каждого элемента тензора
  • функцию sqrt,
    которая вычисляет квадратный корень от каждого элемента тензора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить