卷积输出尺寸和转置卷积输出尺寸的计算方式

卷积输出尺寸

o u t x = ⌊ n − k + 2 × p s t r i d e ⌋ + 1 out_x = \lfloor \frac{n-k+2\times p}{stride}\rfloor+1 outx=stridenk+2×p+1

参数含义:

  • n:特征图的宽或者高
  • k:卷积核的尺寸
  • p:padding的数值,一般指单侧填充几个单元
  • stride:顾名思义

注意,分数部分是向下取整的。

做个练习吧,已知空洞卷积的公式如下:
在这里插入图片描述
atrous rate为2,stride为1,卷积核为3x3的卷积层,如果想让输入和输出的分辨率一样,p应该为多少呢?
聪明的小伙伴一定算出来了吧,就是p=2.

转置卷积输出尺寸

转置卷积俗称反卷积,但正规叫法是转置卷积,推荐朋友们以后也这么叫。
转置卷积用来增大特征图的分辨率的。
o u t x = ( n − 1 ) × s t r i d e − 2 × p + k out_x = (n-1)\times stride -2\times p + k outx=(n1)×stride2×p+k

参数含义同上。

import torch as t
from torch.nn import Module
from torch import nn
class Net(Module):
    def __init__(self):
        super(Net,self).__init__()
        self.conv1 = nn.Conv2d(3,3,3,padding=1)
        self.conv2 = nn.Conv2d(3,3,3,padding=1)
        self.maxpooling = nn.MaxPool2d(2,2)
        self.trans_conv =  nn.ConvTranspose2d(3, 16, 3, stride=2, padding=1)

    def forward(self, x):
        x = self.conv1(x)
        x = self.conv2(x)
        x = self.maxpooling(x)
        x = self.trans_conv(x)
        return x

model = Net()
x = t.ones((1,3,12,12))
print(model(x).size())

在这里插入图片描述
可以发现转置卷积的输出其实并不完全是stride的倍数。但在实际的语义分割中,常常让输出分辨率成倍数增大,这个时候最好还是用双线性产值加conv的形式代替转置卷积吧,事实上一些state of the art 的语义分割网络也确实是这么做的。

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
转置卷积输出尺寸计算可以通过以下公式来确定:输出尺寸 = (输入尺寸 - 1) * 步长 + 感受野大小 - 2 * padding 其中,输入尺寸是指原始输入的大小,步长是指卷积核在输入上滑动的步幅,感受野大小是指卷积核的大小,padding是指在输入周围填充的像素数。这个公式可以帮助我们计算转置卷积输出尺寸。引用提供了关于转置卷积输入输出参数的推导过程,可以更详细地了解转置卷积计算公式和参数间的关系。引用中举了一个例子,通过已知的空洞卷积公式,可以计算转置卷积输出尺寸。而引用则解释了转置卷积的作用和与普通卷积的联系。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [转置卷积理论解释(输入输出大小分析)](https://blog.csdn.net/Dr_maker/article/details/125630089)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [卷积输出尺寸转置卷积输出尺寸计算方式](https://blog.csdn.net/qq_34914551/article/details/89361957)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值