1 softmax
例子:
a = [[1,2,3],[4,5,6]]
b = softmax(a,dim=0)
这个dim=0是对行操作,dim=1 是对列进行操作。
当dim=0,b 里面的第一个值= e的1次方/ (e的1次方+e的4次方)
当dim=1,b里面的第一个值=e的1次方/ (e的1次方+e的2次方+e的3次方)
2 log_softmax
对softmax激活函数得到的所有的值 分别使用再求一次log值,这里的log是以e为底。
3 nn.NLLLoss()
英文全称:negative log likelihood loss,这是一个多分类的损失函数
例子:
首先对a进行 softmax
其次对a 的每个值求log以e为底的对数值
因为b代表的标签,也就是说b的类别是5(注意:0<= 5 < a里面的一条数据的列数)
最后把a里面的第一条数据的索引为4的值 加负号 得到的结果 拿出来 ,是1.4562
就是NLLLoss 计算的结果。