paddle卷积网络计算过程中的维度变化计算方法

本文详细解析了卷积神经网络中卷积层和池化层的工作原理。从输入的[1,1,32,32]开始,通过卷积层输出[28,28,6]的特征图,接着池化层进一步减小特征尺寸到[14,14,6]。内容深入浅出地介绍了卷积核大小、步长和填充对输出维度的影响,以及卷积和池化在图像处理中的作用。
摘要由CSDN通过智能技术生成

为了观察每个过程的维度变化,我写了一些print操作,其实维度变化已经很明显了,下面来具体计算一下每个维度是怎么计算的到的

第0层:网络的输入[1, 1, 32, 32],其中第一维是batch_size, 第二维是input_channel,后面两维是数据的大小,
第1层:卷积层(convolution layer).第一层使用的卷积核大小为[5, 5],卷积核(filter)的输出深度为6(output_channel),使用不填充,步长为1.不填充的情况下,输出的矩阵大小为32 -5 + 1 = 28.因此第一层卷积输出的feature_map的大小为[28, 28, 6].
第2层:池化层(pooling layer). 池化层过滤器大小[2, 2],步长为2.第二层的输出维度(28-2)/2 + 1(括号里面的“2”是kernel的对应维度, “/2”的2是步长)。因此第二层的的大小为[14,14,6].
后面的维度以此类推了。


Conv2d也具有自己的输入和输出,例如(batch_size, channel, height,)

class paddle.nn.Conv2D(in_channelsout_channelskernel_sizestride=1padding=0dilation=1groups=1padding_mode='zer

二维卷积层

该OP是二维卷积层(convolution2d layer),根据输入、卷积核、步长(stride)、填充(padding)、空洞大小(dilations)一组参数计算输出特征层大小。输入和输出是NCHW或NHWC格式,其中N是批尺寸,C是通道数,H是特征高度,W是特征宽度。卷积核是MCHW格式,M是输出图像通道数,C是输入图像通道数,H是卷积核高度,W是卷积核宽度。如果组数(groups)大于1,C等于输入图像通道数除以组数的结果。详情请参考UFLDL's : 卷积 。如果bias_attr不为False,卷积计算会添加偏置项。

os'weight_attr=Nonebias_attr=Nonedata_format='NCHW')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值