链接:https://blog.csdn.net/sinat_42239797/article/details/90646935
nn.Conv2d(in_channels=3,out_channels=96,kernel_size=12,stride=4,padding=2)
卷积一层的几个参数:
in_channels=3:表示的是输入的通道数,由于是RGB型的,所以通道数是3.
out_channels=96:表示的是输出的通道数,设定输出通道数的96(这个是可以根据自己的需要来设置的)
kernel_size=12:表示卷积核的大小是12x12的,也就是上面的 “F”, F=12
stride=4:表示的是步长为4,也就是上面的S, S=4
padding=2:表示的是填充值的大小为2,也就是上面的P, P=2
卷积神经网络的计算公式为:(计算输出的特征大小)
N=(W-F+2P)/S+1
其中N:输出大小
W:输入大小
F:卷积核大小
P:填充值的大小
S:步长大小
假如你的图像的输入size是256x256的,由计算公式知N=(256-12+2x2)/4+1=63,也就是输出size为63x63的
输出特征图大小 = (输入特征图大小 - 卷积核大小(高或宽) + 2 x padding) / stride + 1
63 = ( 256 — 12 + 2*2 ) / 4 + 1
参数数量 = 输入通道数 x 输出通道数 x 卷积核大小(高x宽) + 输出通道数
1299 = 3 * 3 * 12 *12 + 3
model = Sequential(
Conv2D(3,32,3,bias=True),
MaxPool2d(2,stride=2),
Conv2D(32,64,(3,3)),
MaxPool2d(2,stride=2)
)
Conv2D(3,32,3,bias=True)
即
Conv2D(in_channels=3,out_channels=32,kernel_size=3,bias=True)
其中输入的通道数in_channels=3,输出的通道数out_channels=32,卷积核的大小(KH*KW)是3x3的即kernel_size=3
步长stride默认为1,填充值padding默认为0
3
:输入特征图的通道数,即输入特征图的深度。32
:输出特征图的通道数,即卷积核的数量,也是输出特征图的深度。3
:卷积核的大小,即卷积核的高度和宽度。bias=True
:表示该层是否包含偏置项。假设输入224X224X3
假设输入224X224X3,输入通道数为3,输出通道数为32,卷积核大小高度和宽度都为3**(即卷积核为3x3)**
输出特征图大小 = (输入特征图大小 - 卷积核高度或宽度大小(KH) + 2 x padding) / stride + 1
=(224-3+2*0)/1+1=222
参数数量 = 输入通道数 x 输出通道数 x 卷积核大小(KH*KW) + 输出通道数
=3x32x3x3+32=896
输出特征 222x222x32
MaxPool2d(2,stride=2)
参数 2 表示池化核的大小,即池化核大小2x2,stride=2 表示步长为 2
由上面一层Conv2D可知当前输入为222x222x32 池化核大小2x2 步长stride为2
输出特征图大小 = (输入特征图大小 - 池化核大小) / stride + 1
=(222-2)/2+1=111
池化层没有参数
输出特征 111x111x32
Conv2D(32,64,(3,3))
`32`:输入特征图的通道数,即输入特征图的深度。
`64`:输出特征图的通道数,即卷积核的数量,也是输出特征图的深度。
`(3,3)`:卷积核的大小,即卷积核的高度x宽度(3x3)。
由上面一层MaxPool2d可知当前输入为111x111x32
输入通道数为32,输出通道数为64,卷积核大小3x3 (即高度KH * 宽度KW)
输出特征图大小 = (输入特征图大小 - 卷积核高度或宽度大小(KH) + 2 x padding) / stride + 1
=(111-3+2*0)/1+1=109
参数数量 = 输入通道数 x 输出通道数 x 卷积核大小(KH*KW) + 输出通道数
=32x64x3x3+64=18496
输出特征 109x109x64
MaxPool2d(2,stride=2)
参数 2 表示池化核的大小,即池化核大小2x2,stride=2 表示步长为 2
由上面一层Conv2D可知当前输入为109x109x64 池化核大小2x2 步长stride为2
输出特征图大小 = (输入特征图大小 - 池化核大小) / stride + 1
=(111-2)/2+1=54 ((111-2)/2=53 向下取整)
池化层没有参数
输出特征 54x54x64