pytorch笔记:实例解析NLLLoss和CrossEntropyLoss
生活随笔
收集整理的這篇文章主要介紹了
pytorch笔记:实例解析NLLLoss和CrossEntropyLoss
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1 數(shù)據(jù)處理
1)我們先隨機(jī)生成一個(gè)3*3的tensor
2)然后對每一行使用Softmax(softmax之后,每一行的加和為1)
dim=1,表示第一個(gè)維度的 (a[x][1,2,3,...,n])進(jìn)行softmax
3)然后對Softmax的結(jié)果取自然對數(shù):
Softmax后的數(shù)值都在0~1之間,所以ln之后值域是負(fù)無窮到0。
2 NLLloss
NLLLoss的結(jié)果就是把上面的輸出與Label對應(yīng)的那個(gè)值拿出來,再去掉負(fù)號,再求均值。
假設(shè)我們現(xiàn)在Target是[0,2,1]:
?
第一行取第0個(gè)元素,第二行取第2個(gè),第三行取第1個(gè),去掉負(fù)號。
再求個(gè)均值,結(jié)果是:
直接用NLLLoss進(jìn)行驗(yàn)證
NLLLoss的驗(yàn)證
3 softmax
CrossEntropyLoss就是把以上Softmax–Log–NLLLoss合并成一步
?
總結(jié)
以上是生活随笔為你收集整理的pytorch笔记:实例解析NLLLoss和CrossEntropyLoss的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 博弈论笔记1:囚徒困境与纳什均衡
- 下一篇: pytorch实现简易分类模型