【PyTorch】torch.exp() 函数:对张量中每个元素计算自然指数

torch.exp() 函数详解

torch.exp() 是 PyTorch 中用于对张量中每个元素计算自然指数函数 e x e^x ex 的函数,常用于 实现 softmax、log-normalization、指数增长建模 等场景。


1. 函数原型

torch.exp(input, *, out=None) → Tensor
参数说明
input输入张量
out可选,输出张量,用于存放结果

2. 功能说明

对输入张量中的每个元素 x x x 执行:
exp ( x ) = e x \text{exp}(x) = e^x exp(x)=ex
其中 e ≈ 2.71828 e \approx 2.71828 e2.71828


3. 示例:基础用法

import torch

x = torch.tensor([0.0, 1.0, 2.0])
y = torch.exp(x)

print(y)  # 输出:tensor([1.0000, 2.7183, 7.3891])

4. 示例:多维张量

x = torch.tensor([[0.0, -1.0], [1.0, -2.0]])
print(torch.exp(x))

输出:

tensor([[1.0000, 0.3679],
        [2.7183, 0.1353]])

5. 常见应用

5.1 Softmax 的实现

x = torch.tensor([1.0, 2.0, 3.0])
softmax = torch.exp(x) / torch.sum(torch.exp(x))
print(softmax)

5.2 概率建模中的对数概率反变换

log_probs = torch.tensor([-1.0, -2.0])
probs = torch.exp(log_probs)

6. 注意事项

  • torch.exp() 作用于每个元素,支持任意维度的张量。
  • 输入为负数时,输出仍为正数(因为 e x > 0 e^x > 0 ex>0 对任意实数 x x x 成立)。
  • 输入数值过大时可能导致数值溢出(输出为 inf),因此在实际中会结合数值稳定性处理(如在 softmax 前减去最大值)。

7. 与 math.exp() 的区别

torch.exp()math.exp()
输入张量(Tensor)单个标量
输出张量浮点数
支持自动求导

8. 总结

特性说明
作用对张量每个元素计算 e x e^x ex
输出与输入形状相同的张量
应用softmax、概率模型、正态化、注意力机制等
注意大数值可能导致溢出;常配合数值稳定技巧使用

这是 深度学习中最基础的数学函数之一,建议与 log()softmax() 等函数结合理解和使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彬彬侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值