日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python损失函数实现_pytorch 实现cross entropy损失函数计算方式

發布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python损失函数实现_pytorch 实现cross entropy损失函数计算方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

均方損失函數:

這里 loss, x, y 的維度是一樣的,可以是向量或者矩陣,i 是下標。

很多的 loss 函數都有 size_average 和 reduce 兩個布爾類型的參數。因為一般損失函數都是直接計算 batch 的數據,因此返回的 loss 結果都是維度為 (batch_size, ) 的向量。

(1)如果 reduce = False,那么 size_average 參數失效,直接返回向量形式的 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類型統一為float()(tensor類型也是調用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 實現cross entropy損失函數計算方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持python博客。

總結

以上是生活随笔為你收集整理的python损失函数实现_pytorch 实现cross entropy损失函数计算方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。