文章目录
前言
利用Pytorch对VGG16代码实现的过程进行解析,并进行验证。
一、步骤解析
1)、上图1—>2过程:
输入宽度、高度、通道数分别为224、224、3的图片,输出宽度、高度、通道数分别为224、224、64的图片。该过程经历两次卷积,两次非线性激活。
nn.Conv2d(3, 64, kernel_size=3, padding=1), # 输入3通道, 输出64通道, 卷积核为3×3,填充为1
nn.ReLU(inplace=True),
nn.Conv2d(64, 64, kernel_size=3, padding=1), # 输入、输出通道数不变, 卷积核为3×3,填充为1
nn.ReLU(inplace=True),
2)、上图2—>3过程:
输入宽度、高度、通道数分别为224、224、64的图片,输出宽度、高度、通道数分别为112、112、128的图片。该过程经历一次最大池化,两次卷积和两次非线性激活。
nn.MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False), # 缩小图像尺寸
nn.Conv2d(64, 128, kernel_size=3, padding=1), # 输出通道数变为原来2倍
nn.ReLU(inplace=True),
nn.Conv2d(128, 128, kernel_size=3, padding=1), # 输入、输出通道数不变
nn.ReLU(inplace=True),