最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

細數nn.BCELoss與nn.CrossEntropyLoss的區(qū)別

 更新時間:2020年02月29日 11:37:16   作者:站著刷論文  
今天小編就為大家整理了一篇細數nn.BCELoss與nn.CrossEntropyLoss的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

以前我瀏覽博客的時候記得別人說過,BCELoss與CrossEntropyLoss都是用于分類問題??梢灾?,BCELoss是Binary CrossEntropyLoss的縮寫,BCELoss CrossEntropyLoss的一個特例,只用于二分類問題,而CrossEntropyLoss可以用于二分類,也可以用于多分類。

不過我重新查閱了一下資料,發(fā)現同樣是處理二分類問題,BCELoss與CrossEntropyLoss是不同的。下面我詳細講一下哪里不同。

1、使用nn.BCELoss需要在該層前面加上Sigmoid函數。

公式如下:

2、使用nn.CrossEntropyLoss會自動加上Sofrmax層。

公式如下:

可以看出,這兩個計算損失的函數使用的激活函數不同,故而最后的計算公式不同。

補充拓展:pytorch的BCELoss和cross entropy

BCELoss:

torch.nn.BCELoss:

Input: (N, *)(N,∗) where *∗ means, any number of additional dimensions

Target: (N, *)(N,∗), same shape as the input

Output: scalar. If reduction is 'none', then (N, *)(N,∗), same shape as input.

這里的輸入和target 目標必須形狀一致,并且都是浮點數,二分類中一般用sigmoid的把輸出挑出一個數:

>>> m = nn.Sigmoid()
>>> loss = nn.BCELoss()
>>> input = torch.randn(3, requires_grad=True)
>>> target = torch.empty(3).random_(2)
>>> output = loss(m(input), target)
>>> output.backward()

CrossEntropyLoss:

input(N,C) #n 是batch c是類別
target(N)

輸入和target 形狀是不同的crossEntropy 是自己會做softmax

>>> loss = nn.CrossEntropyLoss()
>>> input = torch.randn(3, 5, requires_grad=True)
>>> target = torch.empty(3, dtype=torch.long).random_(5)
>>> output = loss(input, target)
>>> output.backward()

以上這篇細數nn.BCELoss與nn.CrossEntropyLoss的區(qū)別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Pygame庫200行代碼實現簡易飛機大戰(zhàn)

    Pygame庫200行代碼實現簡易飛機大戰(zhàn)

    本文主要介紹了Pygame庫200行代碼實現簡易飛機大戰(zhàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Python利用神經網絡解決非線性回歸問題實例詳解

    Python利用神經網絡解決非線性回歸問題實例詳解

    這篇文章主要介紹了Python利用神經網絡解決非線性回歸問題,結合實例形式詳細分析了Python使用神經網絡解決非線性回歸問題的相關原理與實現技巧,需要的朋友可以參考下
    2019-07-07
  • Python中快速掌握Data Frame的常用操作

    Python中快速掌握Data Frame的常用操作

    這篇文章主要介紹了Python中快速掌握Data Frame的常用操作,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Python 帶有參數的裝飾器實例代碼詳解

    Python 帶有參數的裝飾器實例代碼詳解

    這篇文章主要介紹了Python 裝飾器,帶有參數的裝飾器實例代碼詳解,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-12-12
  • 對python GUI實現完美進度條的示例詳解

    對python GUI實現完美進度條的示例詳解

    今天小編就為大家分享一篇對python GUI實現完美進度條的示例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python實現數據庫跨服務器遷移

    python實現數據庫跨服務器遷移

    這篇文章主要為大家詳細介紹了Python實現數據庫之間的數據遷移,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • PyQt5結合matplotlib繪圖的實現示例

    PyQt5結合matplotlib繪圖的實現示例

    這篇文章主要介紹了PyQt5結合matplotlib繪圖的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Pytorch實現GoogLeNet的方法

    Pytorch實現GoogLeNet的方法

    今天小編就為大家分享一篇Pytorch實現GoogLeNet的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python 序列的方法總結

    Python 序列的方法總結

    這篇文章主要介紹了Python 序列的方法總結的相關資料,需要的朋友可以參考下
    2016-10-10
  • Python struct.unpack

    Python struct.unpack

    Python中按一定的格式取出某字符串中的子字符串,使用struck.unpack是非常高效的。
    2008-09-09

最新評論

扬州市| 丰原市| 安图县| 萍乡市| 丰宁| 新郑市| 五常市| 淅川县| 炎陵县| 正阳县| 建湖县| 友谊县| 垣曲县| 南投县| 德昌县| 遂川县| 沈丘县| 太仓市| 镇安县| 武宁县| 汉中市| 南丹县| 祁东县| 临城县| 广元市| 敦煌市| 海丰县| 土默特左旗| 左权县| 沂源县| 莱州市| 洪湖市| 义马市| 梓潼县| 电白县| 新民市| 临城县| 阜城县| 南涧| 密山市| 镇赉县|