pytorch的nn.CrossEntropyLoss()函数使用方法
生活随笔
收集整理的這篇文章主要介紹了
pytorch的nn.CrossEntropyLoss()函数使用方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
nn.CrossEntropyLoss()函數計算交叉熵損失
用法:
# output是網絡的輸出,size=[batch_size, class] #如網絡的batch size為128,數據分為10類,則size=[128, 10]# target是數據的真實標簽,是標量,size=[batch_size] #如網絡的batch size為128,則size=[128]crossentropyloss=nn.CrossEntropyLoss() crossentropyloss_output=crossentropyloss(output,target)注意,使用nn.CrossEntropyLoss()時,不需要現將輸出經過softmax層,否則計算的損失會有誤,即直接將網絡輸出用來計算損失即可
nn.CrossEntropyLoss()的計算公式為:
?其中x是網絡的輸出向量,class是真實標簽
舉個例子,一個三分類網絡對某個輸入樣本的輸出為[-0.7715, -0.6205,-0.2562],該樣本的真實標簽為0,則用nn.CrossEntropyLoss()計算的損失為:
總結
以上是生活随笔為你收集整理的pytorch的nn.CrossEntropyLoss()函数使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++中set和map的erase用法
- 下一篇: OpenCV学习笔记(十七):查找并绘制