對Pytorch中Tensor的各種池化操作解析
AdaptiveAvgPool1d(N)
對一個C*H*W的三維輸入Tensor, 池化輸出為C*H*N, 即按照H軸逐行對W軸平均池化
>>> a = torch.ones(2,3,4)
>>> a[0,1,2] = 0
>>>> a
tensor([[[1., 1., 1., 1.],
[1., 1., 0., 1.],
[1., 1., 1., 1.]],
[[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]]])
>>> nn.AdaptiveAvgPool1d(5)(a)
tensor([[[1.0000, 1.0000, 1.0000, 1.0000, 1.0000],
[1.0000, 1.0000, 0.5000, 0.5000, 1.0000],
[1.0000, 1.0000, 1.0000, 1.0000, 1.0000]],
[[1.0000, 1.0000, 1.0000, 1.0000, 1.0000],
[1.0000, 1.0000, 1.0000, 1.0000, 1.0000],
[1.0000, 1.0000, 1.0000, 1.0000, 1.0000]]])
>>> nn.AdaptiveAvgPool1d(1)(a)
tensor([[[1.0000],
[0.7500],
[1.0000]],
[[1.0000],
[1.0000],
[1.0000]]])
AdaptiveAvgPool2d((M,N))
對一個B*C*H*W的四維輸入Tensor, 池化輸出為B*C*M*N, 即按照C軸逐通道對H*W平面平均池化
>>> a = torch.ones(2,2,3,4)
>>> a[:,:,:,1] = 0
>>> a
tensor([[[[1., 0., 1., 1.],
[1., 0., 1., 1.],
[1., 0., 1., 1.]],
[[1., 0., 1., 1.],
[1., 0., 1., 1.],
[1., 0., 1., 1.]]],
[[[1., 0., 1., 1.],
[1., 0., 1., 1.],
[1., 0., 1., 1.]],
[[1., 0., 1., 1.],
[1., 0., 1., 1.],
[1., 0., 1., 1.]]]])
>>> nn.AdaptiveAvgPool2d((1,2))(a)
tensor([[[[0.5000, 1.0000]],
[[0.5000, 1.0000]]],
[[[0.5000, 1.0000]],
[[0.5000, 1.0000]]]])
>>> nn.AdaptiveAvgPool2d(1)(a)
tensor([[[[0.7500]],
[[0.7500]]],
[[[0.7500]],
[[0.7500]]]])
AdaptiveAvgPool3d((M,N,K))
對一個B*C*D*H*W的五維輸入Tensor, 池化輸出為B*C*M*N*K, 即按照C軸逐通道對D*H*W平面平均池化
>>> a = torch.ones(1,2,2,3,4)
>>> a[0,0,:,:,0:2] = 0
>>> a
tensor([[[[[0., 0., 1., 1.],
[0., 0., 1., 1.],
[0., 0., 1., 1.]],
[[0., 0., 1., 1.],
[0., 0., 1., 1.],
[0., 0., 1., 1.]]],
[[[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]],
[[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]]]]])
>>> nn.AdaptiveAvgPool3d((1,1,2))(a)
tensor([[[[[0., 1.]]],
[[[1., 1.]]]]])
>>> nn.AdaptiveAvgPool3d(1)(a)
tensor([[[[[0.5000]]],
[[[1.0000]]]]])
以上這篇對Pytorch中Tensor的各種池化操作解析就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python密碼學(xué)Caesar?Cipher凱撒密碼算法教程
這篇文章主要為大家介紹了Python密碼學(xué)Caesar?Cipher凱撒密碼算法教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
Python圖形化界面基礎(chǔ)篇之如何使用彈出窗口和對話框
對于Python程序員來說,處理彈出窗口似乎并不是一個常見的任務(wù),這篇文章主要給大家介紹了關(guān)于Python圖形化界面基礎(chǔ)篇之如何使用彈出窗口和對話框的相關(guān)資料,需要的朋友可以參考下2024-03-03
Python的Asyncore異步Socket模塊及實現(xiàn)端口轉(zhuǎn)發(fā)的例子
asyncore模塊是封裝過的處理socket事件的模塊,采用異步的處理方式,這里我們講來講解Python的Asyncore異步Socket模塊及實現(xiàn)端口轉(zhuǎn)發(fā)的例子,需要的朋友可以參考下2016-06-06
Python實現(xiàn)把數(shù)字轉(zhuǎn)換成中文
這篇文章主要介紹了Python實現(xiàn)把數(shù)字轉(zhuǎn)換成中文,一般用于數(shù)字金額轉(zhuǎn)中文大寫金額,即將阿拉伯?dāng)?shù)字轉(zhuǎn)換為大寫的中文,需要的朋友可以參考下2015-06-06

