本篇主要分析softmax函数中的dim参数
首先介绍一下softmax函数:
设 x = [1,2,3]
则softmax(x)= [ e 1 e 1 + e 2 + e 3 \frac{e^1}{e^1+e^2+e^3} e1+e2+e3e1 , e 2 e 1 + e 2 + e 3 \frac{e^2}{e^1+e^2+e^3} e1+e2+e3e2 , e 3 e 1 + e 2 + e 3 \frac{e^3}{e^1+e^2+e^3} e1+e2+e3e3]
接下来分析torch.nn里面的softmax函数
y = torch.rand(size=[2,2,3])
print(y)
#y的size是2,2,3。可以看成有两张表,每张表2行3列
tensor([[[0.7536, 0.2712, 0.4176],
[0.2008, 0.9512, 0.4904]],
[[0.2232, 0.7459, 0.9858],
[0.9141, 0.0604, 0.4307]]])
net_1 = nn.Softmax(dim=0)
net_2 = nn.Softmax(dim=1)
net_3 = nn.Softmax(dim=2)
print('dim=0的结果是:\n',net_1(y),"\n"

本文详细介绍了 PyTorch 中 torch.nn.Softmax() 函数的 dim 参数用法。通过举例说明了 dim=0、dim=1 和 dim=2 时,softmax 函数如何作用于不同维度的数据,解释了每个维度设置后概率分布的计算过程,突出了该参数在神经网络中对激活值归一化的重要性。
最低0.47元/天 解锁文章
4327

被折叠的 条评论
为什么被折叠?



