多个卷积层连续输出的方法
2026/4/16 9:00:02 网站建设 项目流程

1问题

验证卷积层输入输出shape的计算公式。

多个卷积层连续输出的方法。

2方法

可以采用“截图+文字+代码”的方式描述。

1、我们在对图片进行卷积操作后会得到特征图,它与我们输入的原图的shape不同。通过在网上查阅,我们得到输出高度 = (输入高度 - 卷积核高度 + 2 * 填充) / 步幅 + 1,输出宽度 = (输入宽度 - 卷积核宽度 + 2 * 填充) / 步幅 + 1。
我在刚开始尝试的时候,把公式中的步幅+1一并作为分母,最后得到的结果一直与程序跑出来的结果不同,改正后计算结果与程序的结果终于相同了。
2、
import torch
from torch import nn
conv = nn.Conv2d(
in_channels= 3,
out_channels= 64,
kernel_size= 3,
stride=1,
padding=1,
)
conv1 = nn.Conv2d(
in_channels=64,
out_channels=128,
kernel_size=3,
stride=2,
)
if __name__ == '__main__':
x = torch.rand(size=(3, 24, 24))
out = conv(x)
print(out.shape)
out1 = conv1(out)
print(out1.shape)
为了连续输出卷积层,我将第一个卷积层的输出作为了第二个卷积层的输入,需要注意的时第一个卷积层的out_channels要与第二层的in_channales相等,不然就无法进行。
如上述代码,我给的输入层数据为(3,24,24),得到的结果如下图

3结语

本次我主要探索的就是卷积层连续输出方法,我也在网络上查询了方法,单座后的结果却是出乎意料的简单,只需要对上通道数就可以了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询