Pytorch maxpool的ceil_mode用法
pytorch里面的maxpool,有一個屬性叫ceil_mode,這個屬性在api里面的解釋是
ceil_mode: when True, will use ceil instead of floor to compute the output shape
也就是說,在計算輸出的shape的時候,如果ceil_mode的值為True,那么則用天花板模式,否則用地板模式。
???
舉兩個例子就明白了。
# coding:utf-8
import torch
import torch.nn as nn
from torch.autograd import Variable
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.maxp = nn.MaxPool2d(kernel_size=2, ceil_mode=False)
def forward(self, x):
x = self.maxp(x)
return x
square_size = 6
inputs = torch.randn(1, 1, square_size, square_size)
for i in range(square_size):
inputs[0][0][i] = i * torch.ones(square_size)
inputs = Variable(inputs)
print(inputs)
net = Net()
outputs = net(inputs)
print(outputs.size())
print(outputs)
在上面的代碼中,無論ceil_mode是True or False,結(jié)果都是一樣
但是如果設(shè)置square_size=5,那么
當(dāng)ceil_mode=True
Variable containing:
(0 ,0 ,.,.) =
0 0 0 0 0 0
1 1 1 1 1 1
2 2 2 2 2 2
3 3 3 3 3 3
4 4 4 4 4 4
5 5 5 5 5 5
[torch.FloatTensor of size 1x1x6x6]
torch.Size([1, 1, 3, 3])
Variable containing:
(0 ,0 ,.,.) =
1 1 1
3 3 3
5 5 5
[torch.FloatTensor of size 1x1x3x3]
在上面的代碼中,無論ceil_mode是True or False,結(jié)果都是一樣
但是如果設(shè)置square_size=5,那么
當(dāng)ceil_mode=True
Variable containing:
(0 ,0 ,.,.) =
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
[torch.FloatTensor of size 1x1x5x5]
torch.Size([1, 1, 3, 3])
Variable containing:(0 ,0 ,.,.) =
1 1 1
3 3 3
4 4 4
[torch.FloatTensor of size 1x1x3x3]
當(dāng)ceil_mode=False
Variable containing:
(0 ,0 ,.,.) =
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
[torch.FloatTensor of size 1x1x5x5]
torch.Size([1, 1, 2, 2])
Variable containing:
(0 ,0 ,.,.) =
1 1
3 3
[torch.FloatTensor of size 1x1x2x2]
所以ceil模式就是會把不足square_size的邊給保留下來,單獨(dú)另算,或者也可以理解為在原來的數(shù)據(jù)上補(bǔ)充了值為-NAN的邊。而floor模式則是直接把不足square_size的邊給舍棄了。
以上這篇Pytorch maxpool的ceil_mode用法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 3.0 模擬用戶登錄功能并實(shí)現(xiàn)三次錯誤鎖定
Python的3.0版本,常被稱為Python 3000,或簡稱Py3k。這篇文章主要介紹了python 3.0 模擬用戶登錄功能并實(shí)現(xiàn)三次錯誤鎖定,需要的朋友可以參考下2017-11-11
Python OpenCV 圖像矯正的原理實(shí)現(xiàn)
這篇文章主要介紹了Python OpenCV 圖像矯正的原理實(shí)現(xiàn),檢測邊緣點(diǎn);以邊緣點(diǎn)作為輸入,采用Hough直線檢測,檢測出最多點(diǎn)共線的四條直線,更多相關(guān)內(nèi)容需要的朋友可以參考一下2022-07-07
python中關(guān)于對super()函數(shù)疑問解惑
Python中的super()是用于調(diào)用父類(或父類的父類...)方法的函數(shù),主要用于多繼承,單繼承問題不大,下面這篇文章主要給大家介紹了關(guān)于python中關(guān)于對super()函數(shù)疑問解惑的相關(guān)資料,需要的朋友可以參考下2022-08-08
python使用 HTMLTestRunner.py生成測試報告
這篇文章主要介紹了python使用 HTMLTestRunner.py生成測試報告 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10
Python反爬實(shí)戰(zhàn)掌握酷狗音樂排行榜加密規(guī)則
最新的酷狗音樂反爬來襲,本文介紹如何利用Python掌握酷狗排行榜加密規(guī)則,本章內(nèi)容只限學(xué)習(xí),切勿用作其他用途?。。。。? 有需要的朋友可以借鑒參考下2021-10-10
Python中l(wèi)azy property的兩種方法小結(jié)
本文介紹了Python中實(shí)現(xiàn)延遲屬性lazyproperty的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01

