pytorch 實現(xiàn)cross entropy損失函數(shù)計算方式
均方損失函數(shù):

這里 loss, x, y 的維度是一樣的,可以是向量或者矩陣,i 是下標。
很多的 loss 函數(shù)都有 size_average 和 reduce 兩個布爾類型的參數(shù)。因為一般損失函數(shù)都是直接計算 batch 的數(shù)據(jù),因此返回的 loss 結(jié)果都是維度為 (batch_size, ) 的向量。
(1)如果 reduce = False,那么 size_average 參數(shù)失效,直接返回向量形式的 loss
(2)如果 reduce = True,那么 loss 返回的是標量
a)如果 size_average = True,返回 loss.mean(); b)如果 size_average = False,返回 loss.sum();
注意:默認情況下, 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 實現(xiàn)cross entropy損失函數(shù)計算方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
一篇文章搞懂Python程序流程控制結(jié)構(gòu)
這篇文章主要給大家介紹了關(guān)于Python程序流程控制結(jié)構(gòu)的相關(guān)資料,本節(jié)學習了Python程序的控制結(jié)構(gòu)之順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu),文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-09-09
pytorch Dataset,DataLoader產(chǎn)生自定義的訓(xùn)練數(shù)據(jù)案例
這篇文章主要介紹了pytorch Dataset, DataLoader產(chǎn)生自定義的訓(xùn)練數(shù)據(jù)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Pandas數(shù)據(jù)查詢的集中實現(xiàn)方法
本文主要介紹了Pandas數(shù)據(jù)查詢的集中實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02
python實現(xiàn)監(jiān)控windows服務(wù)并自動啟動服務(wù)示例
這篇文章主要介紹了python實現(xiàn)監(jiān)控windows服務(wù)并自動啟動服務(wù)示例,需要的朋友可以參考下2014-04-04
Python循環(huán)中else,break和continue的用法實例詳解
這篇文章主要介紹了Python循環(huán)中else,break和continue的用法,結(jié)合實例形式詳細分析了Python for循環(huán)、while循環(huán)中else,break和continue的功能、用法及相關(guān)操作注意事項,需要的朋友可以參考下2019-07-07

