您好,登錄后才能下訂單哦!
如何在Pytorch中使用maxpool中的ceil_mode?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1.PyTorch是相當簡潔且高效快速的框架;2.設計追求最少的封裝;3.設計符合人類思維,它讓用戶盡可能地專注于實現自己的想法;4.與google的Tensorflow類似,FAIR的支持足以確保PyTorch獲得持續的開發更新;5.PyTorch作者親自維護的論壇 供用戶交流和求教問題6.入門簡單
# 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,結果都是一樣
但是如果設置square_size=5,那么
當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,結果都是一樣
但是如果設置square_size=5,那么
當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]
當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]
看完上述內容,你們掌握如何在Pytorch中使用maxpool中的ceil_mode的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。