Pytorch 实现下采样的方法(卷积和池化)

本文详细探讨了卷积下采样(通过Max Pooling和卷积层)在深度学习中的应用,以及如何通过不同卷积核大小配合padding保持图像尺寸。通过实例代码展示了3x3、5x5和7x7卷积核的使用,并解释了卷积参数计算方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 卷积核大小和下采样实现

标签(空格分隔): 深度学习
https://www.zhihu.com/question/307839910(卷积下采样和池化下采样的区别)
---

### 1.下采样的实现:maxpooling 或者 conv,k=2,s=2 实现下采样两倍(池化下采样比较粗暴,可能将有用的信息滤除掉,而卷积下采样过程控制了步进大小,信息融合较好)
```
        self.conv_downsampling = nn.Conv2d(3,3,kernel_size=2,stride=2)
        self.max_pooling = nn.MaxPool2d(kernel_size=2)
        输出:torch.Size([1, 3, 128, 128]) torch.Size([1, 3, 128, 128])

```

### 2.卷积核大小为3,5,7时,padding为1,2,3 时,图像卷积后大小不变(Pytorch默认conv的s=1,p=0)
```
        self.conv33 = nn.Conv2d(3,3,kernel_size=3,padding=1)
        self.conv55 = nn.Conv2d(3,3,kernel_size=5,padding=2)
        self.conv77 = nn.Conv2d(3,3,kernel_size=7,padding=3)
        输出:torch.Size([1, 3, 256, 256]) torch.Size([1, 3, 256, 256]) torch.Size([1, 3, 256, 256])

```
### 3.卷积核参数计算方法:卷积核大小(n*d*w) * inchanels * outchannels

## Code
```
import torch
from torch import  nn

class test(nn.Module):
    def __init__(self):
        super(test, self).__init__()
        self.conv_downsampling = nn.Conv2d(3,3,kernel_size=2,stride=2)
        self.max_pooling = nn.MaxPool2d(kernel_size=2)
        self.conv33 = nn.Conv2d(3,3,kernel_size=3,padding=1)
        self.conv55 = nn.Conv2d(3,3,kernel_size=5,padding=2)
        self.conv77 = nn.Conv2d(3,3,kernel_size=7,padding=3)
    def forward(self,x):
        out1 = self.conv_downsampling(x)
        out2 = self.max_pooling(x)
        out3 = self.conv33(x)
        out4 = self.conv55(x)
        out5 = self.conv77(x)
        print(out1.shape,out2.shape,\
              out3.shape,out4.shape,\
              out5.shape)

if __name__ == '__main__':
    data = torch.randn(1,3,256,256)
    test_func = test()
    test_func(data)

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值