中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

根河市| 上高县| 馆陶县| 焉耆| 望都县| 吉木萨尔县| 神木县| 剑川县| 东丰县| 邵武市| 阳新县| 凤庆县| 堆龙德庆县| 高碑店市| 甘谷县| 乌兰县| 玛纳斯县| 曲阳县| 尉犁县| 澄江县| 漳平市| 沽源县| 眉山市| 蕲春县| 锡林浩特市| 唐海县| 那曲县| 铜陵市| 布尔津县| 永善县| 苏尼特左旗| 西城区| 剑河县| 沁源县| 宁远县| 大名县| 武城县| 永昌县| 德清县| 合川市| 鲁甸县|