91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

临泽县| 镇安县| 环江| 南平市| 潜山县| 洪江市| 华坪县| 潢川县| 南安市| 凤山市| 扶沟县| 大城县| 六枝特区| 罗山县| 达孜县| 桓台县| 宽甸| 韶山市| 杨浦区| 华池县| 满城县| 松滋市| 永善县| 望谟县| 斗六市| 木里| 什邡市| 苗栗市| 祁连县| 凉城县| 崇文区| 鄂托克旗| 虹口区| 平谷区| 达孜县| 临桂县| 青州市| 三江| 尉氏县| 抚顺县| 萨嘎县|