pytorch 實(shí)現(xiàn)cross entropy損失函數(shù)計(jì)算方式
均方損失函數(shù):
這里 loss, x, y 的維度是一樣的,可以是向量或者矩陣,i 是下標(biāo)。
很多的 loss 函數(shù)都有 size_average 和 reduce 兩個(gè)布爾類型的參數(shù)。因?yàn)橐话銚p失函數(shù)都是直接計(jì)算 batch 的數(shù)據(jù),因此返回的 loss 結(jié)果都是維度為 (batch_size, ) 的向量。
(1)如果 reduce = False,那么 size_average 參數(shù)失效,直接返回向量形式的 loss
(2)如果 reduce = True,那么 loss 返回的是標(biāo)量
a)如果 size_average = True,返回 loss.mean(); b)如果 size_average = False,返回 loss.sum();
注意:默認(rèn)情況下, reduce = True,size_average = True
import torch import numpy as np
1、返回向量
loss_fn = torch.nn.MSELoss(reduce=False, size_average=False)
a=np.array([[1,2],[3,4]]) b=np.array([[2,3],[4,5]])
input = torch.autograd.Variable(torch.from_numpy(a)) target = torch.autograd.Variable(torch.from_numpy(b))
這里將Variable類型統(tǒng)一為float()(tensor類型也是調(diào)用xxx.float())
loss = loss_fn(input.float(), target.float())
print(loss)
tensor([[ 1., 1.], [ 1., 1.]])
2、返回平均值
a=np.array([[1,2],[3,4]]) b=np.array([[2,3],[4,4]])
loss_fn = torch.nn.MSELoss(reduce=True, size_average=True)
input = torch.autograd.Variable(torch.from_numpy(a)) target = torch.autograd.Variable(torch.from_numpy(b))
loss = loss_fn(input.float(), target.float())
print(loss)
tensor(0.7500)
以上這篇pytorch 實(shí)現(xiàn)cross entropy損失函數(shù)計(jì)算方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
一篇文章搞懂Python程序流程控制結(jié)構(gòu)
這篇文章主要給大家介紹了關(guān)于Python程序流程控制結(jié)構(gòu)的相關(guān)資料,本節(jié)學(xué)習(xí)了Python程序的控制結(jié)構(gòu)之順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu),文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09pywinauto自動(dòng)化測(cè)試使用經(jīng)驗(yàn)
本文主要介紹了pywinauto自動(dòng)化測(cè)試使用經(jīng)驗(yàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03pytorch Dataset,DataLoader產(chǎn)生自定義的訓(xùn)練數(shù)據(jù)案例
這篇文章主要介紹了pytorch Dataset, DataLoader產(chǎn)生自定義的訓(xùn)練數(shù)據(jù)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03Pandas數(shù)據(jù)查詢的集中實(shí)現(xiàn)方法
本文主要介紹了Pandas數(shù)據(jù)查詢的集中實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02python實(shí)現(xiàn)監(jiān)控windows服務(wù)并自動(dòng)啟動(dòng)服務(wù)示例
這篇文章主要介紹了python實(shí)現(xiàn)監(jiān)控windows服務(wù)并自動(dòng)啟動(dòng)服務(wù)示例,需要的朋友可以參考下2014-04-04Python循環(huán)中else,break和continue的用法實(shí)例詳解
這篇文章主要介紹了Python循環(huán)中else,break和continue的用法,結(jié)合實(shí)例形式詳細(xì)分析了Python for循環(huán)、while循環(huán)中else,break和continue的功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-07-07