欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pytorch中關(guān)于F.normalize計(jì)算理解

 更新時(shí)間:2023年02月02日 10:17:42   作者:靜靜喜歡大白  
這篇文章主要介紹了Pytorch中關(guān)于F.normalize計(jì)算理解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

關(guān)于F.normalize計(jì)算理解

動(dòng)機(jī)

最近多次看到該方法出現(xiàn),于是準(zhǔn)備了解一下,搜了后發(fā)現(xiàn)原來(lái)是所謂的L2 norm計(jì)算

簡(jiǎn)介

函數(shù)定義

torch.nn.functional.normalize(input,?p=2.0,?dim=1,?eps=1e-12,?out=None)

功能:將某一個(gè)維度除以那個(gè)維度對(duì)應(yīng)的范數(shù)(默認(rèn)是2范數(shù))。

使用:

F.normalize(data, p=2/1, dim=0/1/-1) 將某一個(gè)維度除以那個(gè)維度對(duì)應(yīng)的范數(shù)(默認(rèn)是2范數(shù))

  • data:輸入的數(shù)據(jù)(tensor)
  • p:L2/L1_norm運(yùn)算
  • dim:0表示按列操作,則每列都是除以該列下平方和的開(kāi)方;1表示按行操作,則每行都是除以該行下所有元素平方和的開(kāi)方

舉例

 

最后dim=0,是1/根號(hào)下1平方+1平方,2/根號(hào)下2平方+2平方,3/根號(hào)下3平方+3平方,所以都是0.7071

Pytorch中normalize應(yīng)用

torch.nn.functional.normalize(input, p=2, dim=1, eps=1e-12, out=None)

其中,p表示范數(shù)(這里是2范數(shù)),dim表示計(jì)算范數(shù)的維度(默認(rèn)為1),eps是為了防止分母為0;

pytorch中的normalize函數(shù)本質(zhì)上就是針對(duì)某個(gè)維度進(jìn)行歸一化,公式為:

方便記憶,二維矩陣中, dim=1表示在行內(nèi)進(jìn)行歸一化,dim=0表示在列內(nèi)進(jìn)行歸一化。

在使用過(guò)程中,對(duì)dim的理解不夠到位,來(lái)三個(gè)代碼實(shí)驗(yàn)一下。

示例1:dim=1

a = F.softmax(torch.randn((1, 3, 4)), 1)
b = F.normalize(a)

輸出:

// a
 tensor([[[0.2621, 0.2830, 0.3758, 0.0260],
         [0.3634, 0.3750, 0.5382, 0.1085],
         [0.3744, 0.3420, 0.0860, 0.8655]]])
// b
b: tensor([[[0.4489, 0.4870, 0.5676, 0.0298],
         [0.6224, 0.6454, 0.8130, 0.1243],
         [0.6412, 0.5885, 0.1299, 0.9918]]])

代碼中針對(duì)維度1進(jìn)行歸一化。維度1有3個(gè)通道,具體的計(jì)算細(xì)節(jié)為

示例2:dim=2

a = F.softmax(torch.randn((1, 3, 4)), 1)
c = F.normalize(b, dim=2)
// a
tensor([[[0.0861, 0.1087, 0.0518, 0.3551],
? ? ? ? ?[0.8067, 0.4128, 0.0592, 0.2884],
? ? ? ? ?[0.1072, 0.4785, 0.8890, 0.3565]]])
// c
tensor([[[0.2237, 0.2825, 0.1347, 0.9230],
? ? ? ? ?[0.8467, 0.4332, 0.0621, 0.3027],
? ? ? ? ?[0.0997, 0.4447, 0.8262, 0.3313]]])

這里作用的是維度2,可以認(rèn)為維度2有4個(gè)通道,計(jì)算細(xì)節(jié)為:

示例3:dim=0

a = F.softmax(torch.randn((1, 3, 4)), 1)
c = F.normalize(b, dim=0)
// a
tensor([[[0.0861, 0.1087, 0.0518, 0.3551],
? ? ? ? ?[0.8067, 0.4128, 0.0592, 0.2884],
? ? ? ? ?[0.1072, 0.4785, 0.8890, 0.3565]]])
// c
tensor([[[1., 1., 1., 1.],
? ? ? ? ?[1., 1., 1., 1.],
? ? ? ? ?[1., 1., 1., 1.]]])

這里作用的是維度0;維度0上只有1個(gè)通道,因此歸一化之后全為1,即

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python任務(wù)調(diào)度實(shí)例分析

    python任務(wù)調(diào)度實(shí)例分析

    這篇文章主要介紹了python任務(wù)調(diào)度實(shí)現(xiàn)方法,實(shí)例分析了任務(wù)調(diào)度的原理與Python實(shí)現(xiàn)方法,需要的朋友可以參考下
    2015-05-05
  • python?使用ctypes調(diào)用C/C++?dll詳情

    python?使用ctypes調(diào)用C/C++?dll詳情

    這篇文章主要介紹了python?使用ctypes調(diào)用C/C++?dll詳情,文章首先通過(guò)導(dǎo)入ctypes模塊,加載C/C++?dll到python進(jìn)程空間展開(kāi)主題相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-04-04
  • python logging模塊的使用詳解

    python logging模塊的使用詳解

    這篇文章主要介紹了python logging模塊的使用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • Python數(shù)據(jù)分析模塊pandas用法詳解

    Python數(shù)據(jù)分析模塊pandas用法詳解

    這篇文章主要介紹了Python數(shù)據(jù)分析模塊pandas用法,結(jié)合實(shí)例形式詳細(xì)分析了Python數(shù)據(jù)分析模塊pandas的功能、常見(jiàn)用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-09-09
  • Python交互式圖形編程的實(shí)現(xiàn)

    Python交互式圖形編程的實(shí)現(xiàn)

    這篇文章主要介紹了Python交互式圖形編程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python中查看變量的類(lèi)型內(nèi)存地址所占字節(jié)的大小

    Python中查看變量的類(lèi)型內(nèi)存地址所占字節(jié)的大小

    這篇文章主要介紹了Python中查看變量的類(lèi)型,內(nèi)存地址,所占字節(jié)的大小,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • 使用__init__.py將文件夾設(shè)置成Python模塊示例詳解

    使用__init__.py將文件夾設(shè)置成Python模塊示例詳解

    這篇文章主要為大家介紹了使用__init__.py將文件夾設(shè)置成Python模塊示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Python在Matplotlib圖中顯示中文字體的操作方法

    Python在Matplotlib圖中顯示中文字體的操作方法

    這篇文章主要介紹了Python在Matplotlib圖中顯示中文字體的方法,本篇主要針對(duì)在Ubuntu系統(tǒng)中,matplotlib顯示不了中文的問(wèn)題,尤其是在無(wú)法安裝系統(tǒng)字體的情況下,解決Python繪圖時(shí)中文顯示的問(wèn)題。需要的朋友可以參考下
    2019-07-07
  • Python數(shù)據(jù)結(jié)構(gòu)與算法之完全樹(shù)與最小堆實(shí)例

    Python數(shù)據(jù)結(jié)構(gòu)與算法之完全樹(shù)與最小堆實(shí)例

    這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之完全樹(shù)與最小堆,結(jié)合實(shí)例形式分析了Python完全樹(shù)定義及堆排序功能實(shí)現(xiàn)相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • Python的GUI編程之Pack、Place、Grid的區(qū)別說(shuō)明

    Python的GUI編程之Pack、Place、Grid的區(qū)別說(shuō)明

    這篇文章主要介紹了Python的GUI編程之Pack、Place、Grid的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評(píng)論