池化层:最大池化MaxPool、平均池化AvgPool、自适应池化AdaptiveMaxPool区别--基于pytorch框架
生活随笔
收集整理的這篇文章主要介紹了
池化层:最大池化MaxPool、平均池化AvgPool、自适应池化AdaptiveMaxPool区别--基于pytorch框架
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- MaxPool2d最大池化
- AvgPool2d平均池化
- AdaptiveAvgPool2d自適應平均池化
池化操作的一個重要的目的就是對卷積后得到的特征進行進一步處理,池化層可以起到對數據進一步濃縮的效果,從而緩解計算時內存的壓力。
在pytoch中提供很多池化的類,這里主要介紹最**大池化(MaxPool)、平均池化(AvgPool)、自適應池化(AdaptiveAvgpool)**的區別,,其他方法類似。
對于torch.nn.MaxPool2d()池化操作相關參數的應用,其使用方法如下所示
torch.nn.MaxPool2d(kernel_size,stride=None,padding=0,dilation=1,return_indices=False,ceil_mode=False)參數使用說明:
kernel_size:(整數或者數組)最大池化的窗口大小;
stride:(整數或數組,正數)最大值池化窗口移動的步長,默認值是kernel_size
padding:(整數或數據、正數)輸入的每一條邊補充0的層數
dilation:(整數或數組、正數)一個控制窗口中元素步幅的參數
return_indices:如果為True,則會返回輸出最大值的索引,這樣會更加便于后面的torch.nn.MaxUnpool2d操作
ceil_mode:如果等于True,計算輸出信號的大小時候,會使用向上取整,默認向下取整。
測試圖片見下圖
MaxPool2d最大池化
對卷積后的結果進行最大池化
maxpool2 = nn.MaxPool2d(2,stride=2) pool2_out = maxpool2(imconv2dout) pool2_out_im = pool2_out.squeeze() print('pool2_out.shape')對原始圖片2160 * 3840進行特征映射在經過窗口為22,步長為2的最大池化后,尺寸變成10781918的特征映射。將兩個特征映射進行可視化
plt.figure(figsize = (12,6)) plt.subplot(1,2,1) plt.imshow(pool2_out_im[0].data,cmap=plt.cm.gray) plt.axis("off") plt.subplot(1,2,2) plt.imshow(pool2_out_im[1].data,cmap=plt.cm.gray) plt.axis("off") plt.show()最大池化的結果圖像
完整代碼見下圖所示
AvgPool2d平均池化
對卷積后的輸出結果進行平均池化,并進行可視化操作
avgpool2 = nn.AvgPool2d(2,stride=2) pool2_out = avgpool2(imconv2dout) pool2_out_im = pool2_out.squeeze() print(pool2_out.shape) plt.figure(figsize = (12,6)) plt.subplot(1,2,1) plt.imshow(pool2_out_im[0].data,cmap=plt.cm.gray) plt.axis("off") plt.subplot(1,2,2) plt.imshow(pool2_out_im[1].data,cmap=plt.cm.gray) plt.axis("off") plt.show()得到的可視化圖片如下所示
AdaptiveAvgPool2d自適應平均池化
AdaAvgpool2 = nn.AdaptiveAvgPool2d(output_size=(100,100)) pool2_out = AdaAvgpool2(imconv2dout) pool2_out_im = pool2_out.squeeze() print(pool2_out.shape)plt.figure(figsize = (12,6)) plt.subplot(1,2,1) plt.imshow(pool2_out_im[0].data,cmap=plt.cm.gray) plt.axis("off") plt.subplot(1,2,2) plt.imshow(pool2_out_im[1].data,cmap=plt.cm.gray) plt.axis("off") plt.show()可視化圖像如同所示
總結
以上是生活随笔為你收集整理的池化层:最大池化MaxPool、平均池化AvgPool、自适应池化AdaptiveMaxPool区别--基于pytorch框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决This picacion faie
- 下一篇: 解决jupyter notebook的k