日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[pytorch、学习] - 5.4 池化层

發布時間:2023/12/10 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [pytorch、学习] - 5.4 池化层 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考

5.4 池化層

在本節中我們介紹池化(pooling)層,它的提出是為了緩解卷積層對位置的過度敏感性。

5.4.1 二維最大池化層和平均池化層

池化層直接計算池化窗口內元素的最大值或者平均值。該運算也叫做最大池化層或平均池化層。

下面把池化層的前向計算實現在pool2d函數里。

import torch import torch.nn as nndef pool2d(X, pool_size, mode="max"):X = X.float()p_h, p_w = pool_sizeY = torch.zeros(X.shape[0] - p_h + 1, X.shape[1] - p_w + 1)for i in range(Y.shape[0]):for j in range(Y.shape[1]):if mode == 'max':Y[i, j] = X[i: i + p_h, j: j + p_w].max()elif mode == 'avg':Y[i, j] = X[i: i + p_h, j: j + p_w].mean()return Y X = torch.tensor([[0,1,2], [3,4,5], [6,7,8]]) pool2d(X, (2, 2))


下面驗證一下平均池化層

pool2d(X, (2,2),'avg')

5.4.2 填充和步幅

池化層也可以定義填充和步幅

X = torch.arange(16, dtype=torch.float).view((1, 1, 4, 4)) X


默認情況下,MaxPool2d實例里步幅和池化窗口形狀相同。下面使用形狀為(3, 3)的池化窗口,默認獲得形狀為(3, 3)的步幅。

pool2d = nn.MaxPool2d(3) pool2d(X)


我們可以手動指定步幅和填充。

pool2d = nn.MaxPool2d(3, padding=1, stride=2) pool2d(X)


當然,我們也可以指定非正方形的池化窗口,并分別指定高和寬上的填充和步幅。

pool2d = nn.MaxPool2d((2, 4), padding=(1, 2), stride=(2, 3)) pool2d(X)

5.4.3 多通道

池化層對每個輸入通道分別池化,而不是像卷積層那樣將各通道的輸入按通道相加.

X = torch.cat((X, X + 1), dim=1) X

池化后,我們發現輸出通道數仍然是2。

總結

以上是生活随笔為你收集整理的[pytorch、学习] - 5.4 池化层的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。