校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > pytorch 實現二分類交叉熵逆樣本頻率權重

pytorch 實現二分類交叉熵逆樣本頻率權重

熱門標簽:400電話辦理哪種 開封語音外呼系統代理商 開封自動外呼系統怎么收費 手機網頁嵌入地圖標注位置 天津電話機器人公司 電銷機器人的風險 地圖標注線上如何操作 應電話機器人打電話違法嗎 河北防封卡電銷卡

通常,由于類別不均衡,需要使用weighted cross entropy loss平衡。

def inverse_freq(label):
 """
 輸入label [N,1,H,W],1是channel數目
 """
    den = label.sum() # 0
    _,_,h,w= label.shape
    num = h*w
    alpha = den/num # 0
    return torch.tensor([alpha, 1-alpha]).cuda()
# train
...
loss1 = F.cross_entropy(out1, label.squeeze(1).long(), weight=inverse_freq(label))

補充:Pytorch踩坑記之交叉熵(nn.CrossEntropy,nn.NLLLoss,nn.BCELoss的區別和使用)

在Pytorch中的交叉熵函數的血淚史要從nn.CrossEntropyLoss()這個損失函數開始講起。

從表面意義上看,這個函數好像是普通的交叉熵函數,但是如果你看過一些Pytorch的資料,會告訴你這個函數其實是softmax()和交叉熵的結合體。

然而如果去官方看這個函數的定義你會發現是這樣子的:

哇,竟然是nn.LogSoftmax()和nn.NLLLoss()的結合體,這倆都是什么玩意兒啊。再看看你會發現甚至還有一個損失叫nn.Softmax()以及一個叫nn.nn.BCELoss()。

我們來探究下這幾個損失到底有何種關系。

nn.Softmax和nn.LogSoftmax

首先nn.Softmax()官網的定義是這樣的:

嗯...就是我們認識的那個softmax。那nn.LogSoftmax()的定義也很直觀了:

果不其然就是Softmax取了個log。可以寫個代碼測試一下:

import torch
import torch.nn as nn
 
a = torch.Tensor([1,2,3])
#定義Softmax
softmax = nn.Softmax()
sm_a = softmax=nn.Softmax()
print(sm)
#輸出:tensor([0.0900, 0.2447, 0.6652])
 
#定義LogSoftmax
logsoftmax = nn.LogSoftmax()
lsm_a = logsoftmax(a)
print(lsm_a)
#輸出tensor([-2.4076, -1.4076, -0.4076]),其中ln(0.0900)=-2.4076

nn.NLLLoss

上面說過nn.CrossEntropy()是nn.LogSoftmax()和nn.NLLLoss的結合,nn.NLLLoss官網給的定義是這樣的:

The negative log likelihood loss. It is useful to train a classification problem with C classes

負對數似然損失 ,看起來好像有點晦澀難懂,寫個代碼測試一下:

import torch
import torch.nn
 
a = torch.Tensor([[1,2,3]])
nll = nn.NLLLoss()
target1 = torch.Tensor([0]).long()
target2 = torch.Tensor([1]).long()
target3 = torch.Tensor([2]).long()
 
#測試
n1 = nll(a,target1)
#輸出:tensor(-1.)
n2 = nll(a,target2)
#輸出:tensor(-2.)
n3 = nll(a,target3)
#輸出:tensor(-3.)

看起來nn.NLLLoss做的事情是取出a中對應target位置的值并取負號,比如target1=0,就取a中index=0位置上的值再取負號為-1,那這樣做有什么意義呢,要結合nn.CrossEntropy往下看。

nn.CrossEntropy

看下官網給的nn.CrossEntropy()的表達式:

看起來應該是softmax之后取了個對數,寫個簡單代碼測試一下:

import torch
import torch.nn as nn
 
a = torch.Tensor([[1,2,3]])
target = torch.Tensor([2]).long()
logsoftmax = nn.LogSoftmax()
ce = nn.CrossEntropyLoss()
nll = nn.NLLLoss()
 
#測試CrossEntropyLoss
cel = ce(a,target)
print(cel)
#輸出:tensor(0.4076)
 
#測試LogSoftmax+NLLLoss
lsm_a = logsoftmax(a)
nll_lsm_a = nll(lsm_a,target)
#輸出tensor(0.4076)

看來直接用nn.CrossEntropy和nn.LogSoftmax+nn.NLLLoss是一樣的結果。為什么這樣呢,回想下交叉熵的表達式:

其中y是label,x是prediction的結果,所以其實交叉熵損失就是負的target對應位置的輸出結果x再取-log。這個計算過程剛好就是先LogSoftmax()再NLLLoss()。

所以我認為nn.CrossEntropyLoss其實應該叫做softmaxloss更為合理一些,這樣就不會誤解了。

nn.BCELoss

你以為這就完了嗎,其實并沒有。還有一類損失叫做BCELoss,寫全了的話就是Binary Cross Entropy Loss,就是交叉熵應用于二分類時候的特殊形式,一般都和sigmoid一起用,表達式就是二分類交叉熵:

直覺上和多酚類交叉熵的區別在于,不僅考慮了的樣本,也考慮了的樣本的損失。

總結

nn.LogSoftmax是在softmax的基礎上取自然對數

nn.NLLLoss是負的似然對數損失,但Pytorch的實現就是把對應target上的數取出來再加個負號,要在CrossEntropy中結合LogSoftmax來用

BCELoss是二分類的交叉熵損失,Pytorch實現中和多分類有區別

Pytorch是個深坑,讓我們一起扎根使用手冊,結合實踐踏平這些坑吧暴風哭泣

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 在Pytorch中使用樣本權重(sample_weight)的正確方法
  • pytorch中交叉熵損失(nn.CrossEntropyLoss())的計算過程詳解
  • PyTorch的SoftMax交叉熵損失和梯度用法

標簽:成都 蘭州 宿遷 山東 江蘇 駐馬店 常州 六盤水

巨人網絡通訊聲明:本文標題《pytorch 實現二分類交叉熵逆樣本頻率權重》,本文關鍵詞  pytorch,實現,二,分類,交叉,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pytorch 實現二分類交叉熵逆樣本頻率權重》相關的同類信息!
  • 本頁收集關于pytorch 實現二分類交叉熵逆樣本頻率權重的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    日韩午夜激情视频| 久久久久久久综合色一本| 在线免费一区三区| 国产精品天美传媒沈樵| 日本少妇一区二区| 欧美私人免费视频| 久久婷婷成人综合色| 一区二区在线观看av| 91色九色蝌蚪| 日韩伦理免费电影| 一区二区三区四区在线免费观看 | 日韩一区二区三区在线观看| 亚洲午夜一区二区三区| 欧美日韩国产在线观看| 麻豆极品一区二区三区| 久久久久久久综合色一本| 岛国精品在线观看| 亚洲精品亚洲人成人网在线播放| 韩国中文字幕2020精品| 国产日韩欧美高清在线| 色婷婷精品久久二区二区蜜臀av| 一区二区三区欧美激情| 91.成人天堂一区| 国产美女av一区二区三区| 国产欧美一区二区精品性色超碰| av网站一区二区三区| 亚洲成在线观看| 亚洲精品一区二区精华| www.亚洲色图| 狠狠狠色丁香婷婷综合久久五月| 亚洲欧洲精品一区二区精品久久久| 亚洲一区二区在线视频| 欧美v日韩v国产v| 成人激情综合网站| 裸体一区二区三区| 国产精品电影一区二区三区| 在线一区二区三区| 福利电影一区二区三区| 天堂精品中文字幕在线| 亚洲另类色综合网站| 日韩免费看的电影| 一本久道久久综合中文字幕| 成人午夜看片网址| 欧美aaa在线| 亚洲自拍偷拍网站| 国产欧美一区二区三区在线看蜜臀| 日本电影亚洲天堂一区| 丰满亚洲少妇av| 麻豆精品蜜桃视频网站| 亚洲精选在线视频| 亚洲欧美另类图片小说| 成人福利视频在线| 成人ar影院免费观看视频| 国产日产精品一区| 欧美一卡二卡在线| 色狠狠桃花综合| 粉嫩av一区二区三区粉嫩| 日韩专区一卡二卡| 亚洲免费在线视频一区 二区| 精品国产不卡一区二区三区| 欧美日韩大陆一区二区| 成人午夜精品在线| 国产大陆a不卡| 国模套图日韩精品一区二区| 天天操天天色综合| 亚洲精品高清在线| 亚洲欧洲美洲综合色网| 中文字幕成人网| 久久久99久久精品欧美| 91.com在线观看| 91麻豆精品国产91久久久久久 | 久久久久国产精品人| 91精品国产综合久久精品麻豆| 在线一区二区三区四区| 在线观看视频欧美| 911精品国产一区二区在线| 精品视频色一区| 欧美日韩午夜在线| 欧美日韩在线一区二区| 欧美日韩精品三区| 欧美日本在线观看| 欧美日韩成人在线一区| 欧美一区二区三区四区高清| 日韩欧美成人激情| 日韩女优毛片在线| 国产欧美日韩视频一区二区| 国产亚洲欧美一区在线观看| 欧美一区二区三区喷汁尤物| 日韩欧美久久久| 国产免费观看久久| 中文字幕在线不卡一区二区三区| 国产精品久久久久婷婷| 综合久久一区二区三区| 亚洲午夜私人影院| 久久国产精品99精品国产| 狠狠色伊人亚洲综合成人| 国产成人一区在线| 一本到三区不卡视频| 欧美人与性动xxxx| 26uuu欧美| 国产精品乱人伦| 亚洲影视在线播放| 蜜臀91精品一区二区三区| 精品一区二区三区在线观看| 高清不卡在线观看av| 欧美专区在线观看一区| 国产欧美一区二区精品久导航| 亚洲特黄一级片| 日韩中文字幕一区二区三区| 九九国产精品视频| 日本在线观看不卡视频| 日本不卡一区二区| 国产**成人网毛片九色 | 26uuu另类欧美| 亚洲日本成人在线观看| 日本女优在线视频一区二区| 99精品国产91久久久久久| 精品视频在线免费看| 国产三级三级三级精品8ⅰ区| 亚洲午夜久久久久久久久电影网| 久久99国产精品免费网站| 色妞www精品视频| 精品国产电影一区二区| 亚洲一区免费视频| 丁香激情综合五月| 欧美亚洲尤物久久| 国产精品色在线| 精久久久久久久久久久| 欧美色爱综合网| 亚洲欧美日韩国产一区二区三区| 国产一区高清在线| 91精品欧美久久久久久动漫| 久久久蜜桃精品| 蜜桃视频一区二区| 欧美一区二区三区视频在线观看| 午夜久久久影院| 欧美一区二区视频在线观看 | 免费看欧美女人艹b| 日韩一级高清毛片| 精品一区二区三区免费视频| 日韩精品一区二区三区在线播放| 看片的网站亚洲| 欧美mv日韩mv| 成人少妇影院yyyy| 综合电影一区二区三区| 欧美调教femdomvk| 麻豆精品国产91久久久久久| 国产色产综合色产在线视频| av亚洲精华国产精华| 亚洲色图.com| 欧美一区二区美女| 国产精品18久久久久久久久| 中文字幕日韩精品一区| 色呦呦国产精品| 美国十次综合导航| 国产情人综合久久777777| 色综合久久六月婷婷中文字幕| 亚洲线精品一区二区三区| 久久亚洲精精品中文字幕早川悠里| 成人精品视频网站| 亚洲成人7777| 国产三级精品三级在线专区| 欧美亚洲高清一区| 韩国三级在线一区| 亚洲六月丁香色婷婷综合久久 | 正在播放亚洲一区| 成人午夜视频福利| 午夜免费欧美电影| 国产精品动漫网站| 日韩欧美一二区| 在线观看视频一区二区欧美日韩| 久久99蜜桃精品| 亚洲一区二区三区国产| 国产欧美视频一区二区| 51精品秘密在线观看| 91网站最新地址| 国产在线国偷精品产拍免费yy| 亚洲精品一卡二卡| 日本一区二区三区久久久久久久久不| 欧美片网站yy| 99久久99久久免费精品蜜臀| 精品在线免费视频| 亚洲777理论| 亚洲综合色成人| 国产精品狼人久久影院观看方式| 亚洲激情一二三区| 成人激情免费网站| 99久久久久免费精品国产| 久久先锋资源网| 欧美精品色综合| 色综合久久精品| 成人爽a毛片一区二区免费| 日韩在线一区二区| 欧美日韩国产免费一区二区| 97精品视频在线观看自产线路二| 国内成+人亚洲+欧美+综合在线| 图片区小说区国产精品视频| 亚洲一区二区三区四区五区中文| 亚洲婷婷综合色高清在线| 中文字幕不卡在线观看|