torch.nn.functional.Softmax(input,dim=None)
tf.nn.functional.softmax(x,dim = -1)中的参数dim是指维度的意思,设置这个参数时会遇到0,1,2,-1等情况,特别是对2和-1不熟悉,细究了一下这个问题
查了一下API手册,是指最后一行的意思。原文:
dim (python:int) – A dimension along which Softmax will be computed (so every slice along dim will sum to 1).
softmax的公式为:
Softmax(xi)=exp(xi)∑jxiSoftmax(x_i)=\frac{exp(x_i)}{\sum_{j}x_i}Softmax(xi)=∑jxiexp(xi)
一般会有设置成dim=0,1,2,-1的情况
准备工作:先随机生成一个(2,2,3)的矩阵,两个维度的(2,3)矩阵。
import torch
import torch.nn.functional as F
input = torch.randn(2,2,3)
print(input)
输出为:
tensor([[[-3.9332, 0.7909, 0.8927],
[-1.7991, 0.2505, 0.7695]],
[[ 0.1946, 0.1878, 1.2713],
[ 0.9536, 1.0525, -0.7081]]])
- 要注意的是当
dim=0时, 是对每一维度相同位置的数值进行softmax运算,举个栗子:
m = F.softmax(input,</

本文深入解析PyTorch中softmax函数的dim参数作用,通过实例演示不同维度下softmax运算的具体效果,帮助读者掌握softmax在神经网络中的应用。

1344

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



