Функция exp
Функция exp вычисляет экспоненту (число Эйлера, возведённое в степень переданного числа) для каждого элемента тензора. Результат возвращается в виде нового тензора того же размера, что и исходный. Функция работает поэлементно и поддерживает автоматическое дифференцирование, что особенно важно при построении нейросетей.
Синтаксис
torch.exp(input, *, out=None)
Параметр input - это входной тензор. Необязательный параметр out позволяет указать тензор для записи результата.
Пример
Давайте вычислим экспоненту для каждого элемента тензора:
import torch
t = torch.tensor([0.0, 1.0, 2.0, 3.0])
res = torch.exp(t)
print(res)
Результат выполнения кода:
tensor([ 1.0000, 2.7183, 7.3891, 20.0855])
Пример
Функцию можно применять к двумерным тензорам:
import torch
t = torch.tensor([[-1.0, 0.0], [1.0, 2.0]])
res = torch.exp(t)
print(res)
Результат выполнения кода:
tensor([
[0.3679, 1.0000],
[2.7183, 7.3891],
])
Пример
Экспонента часто используется в функциях активации, например, в softmax. Покажем вычисление экспоненты с последующим суммированием:
import torch
t = torch.tensor([1.0, 2.0, 3.0])
exp_t = torch.exp(t)
sum_exp = torch.sum(exp_t)
print(exp_t)
print(sum_exp)
Результат выполнения кода:
tensor([ 2.7183, 7.3891, 20.0855])
tensor(30.1929)