NLLLOSS理解与测试


在使用NLLLOSS之前先试用logsoftmax作为神经网络中最后一层的处理,然后在将这个输出作为NLLLOSS的输入计算误差,其中大部分的使用需要传的参数为:outputlabel,内部的计算公式是:

\[loss = output[label] \]

以十分类问题为例:
使用logsoftmax处理之后得到的数据为(这里仅展示一组数据,所以对应的label也为一个):

tensor([-2.7536, -2.2437, -2.2050, -2.5588, -2.3351, -2.1301, -2.1378, -2.6896,
        -2.1226, -2.1083])
		
labels = 8

则上述的数据经过nllloss运算之后得到的结果是:-2.1226

如果是多组的情况,具体的计算流程和上述的一模一样,只不过将对应的label元素当做与output张量的下标,取出元素后做累加,累加之后再求均值即可。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM