亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pytorch如何實現cross entropy損失函數計算方式

發布時間:2021-05-20 14:37:32 來源:億速云 閱讀:234 作者:小新 欄目:開發技術

小編給大家分享一下pytorch如何實現cross entropy損失函數計算方式,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

均方損失函數:

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的優點

1.PyTorch是相當簡潔且高效快速的框架;2.設計追求最少的封裝;3.設計符合人類思維,它讓用戶盡可能地專注于實現自己的想法;4.與google的Tensorflow類似,FAIR的支持足以確保PyTorch獲得持續的開發更新;5.PyTorch作者親自維護的論壇 供用戶交流和求教問題6.入門簡單

以上是“pytorch如何實現cross entropy損失函數計算方式”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临汾市| 仪征市| 铜陵市| 来安县| 固镇县| 陵川县| 广安市| 长宁县| 清水河县| 曲麻莱县| 绥芬河市| 钟山县| 兴山县| 湘西| 象州县| 彝良县| 延边| 融水| 高雄县| 健康| 萝北县| 永丰县| 枣庄市| 陆河县| 平利县| 闻喜县| 鄂温| 华宁县| 广水市| 新安县| 闽侯县| 博野县| 黎平县| 莒南县| 徐水县| 共和县| 翁源县| 车致| 汝城县| 达日县| 常山县|