損失函式 BCELoss

2021-10-17 08:11:45 字數 1144 閱讀 6900

bceloss就時predict對應位置點求熵,相加,再求平均

證明:

#%%

import torch

import torch.nn as nn

#%% md

bceloss損失函式

#%% 產生predict,target

n = 2

c = 1

h = 2

w = 2

predict = torch.arange(n*c*h*w,dtype=torch.float32).view([n,c,w,h])

predict = torch.sigmoid(predict) #sigmoid!!!

target = torch.arange(n*c*h*w,dtype=torch.float32).view([n,c,w,h]) #sigmoid!!!

target = torch.sigmoid(target)

print('predict:',predict)

print('target:',target)

#%% 利用公式計算bceloss

sumall = 0

for n in range(n):

for c in range(c):

for h in range(h):

for w in range(w):

sumall += target[n,c,h,w]*torch.log(predict[n,c,h,w])+(1-target[n,c,h,w])*torch.log(1-predict[n,c,h,w])

print('公式計算結果:bceloss:',-sumall/(n*c*h*w))

#%% 利用pytorch計算bceloss

loss = torch.nn.bceloss()

print('pytorch計算結果:bceloss:',loss(predict,target))

結果:

公式計算結果:bceloss: tensor(0.2483)
pytorch計算結果:bceloss: tensor(0.2483)

損失函式 損失函式 Hinge

本文討論hinge損失函式,該函式是機器學習中常用的損失函式之一。在機器學習中,hinge loss是一種損失函式,它通常用於 maximum margin 的分類任務中,如支援向量機。數學表示式為 其中 表示 輸出,通常都是軟結果 就是說輸出不是0,1這種,可能是0.87。表示正確的類別。其函式影...

常見損失函式 損失函式選擇方法

神經網路的學習通過某個指標表示現在的狀態,然後以這個指標為基準,尋找最優權重引數,這個指標就是損失函式 loss function 如上介紹,神經網路損失函式 loss function 也叫目標函式 objective function 的作用 衡量神經網路的輸出與預期值之間的距離,以便控制 調節...

損失函式 SRGAN損失函式(目標函式)詳解

srgan的特點之一就是引進了損失感知函式,由此提公升了超解析度之後的細節資訊。本文主要像您介紹srgan使用的損失函式,及其keras實現。這是原文中給出的損失函式。容易看出,此損失函式包括兩部分,第一部分是感知損失,第二部分是正則化損失。感知損失是由李飛飛團隊提出的一種損失函式。感知損失分了兩部...