Pytorch1.0入门实战二:LeNet、AleNet、VGG、GoogLeNet、ResNet模型详解
LeNet 1998年, LeCun提出了第一个真正的卷积神经网络,也是整个神经网络的开山之作,称为 LeNet,现在主要指的是 LeNet5或 LeNet-5,如图1.1所示。它的主要特征是将卷积层和下采样层相结合作为网络的基本机构,如果不计输入层,该模型共 7层,包括 2个卷积层, 2个下采样层, 3个全连接层。 图1.1 注:由于在接入全连接层时,要将池化层的输出转换成全连接层需要的维度,因此,必须清晰的知道全连接层前feature map的大小。卷积层与池化层输出的图像大小,其计算如图 1.2所示。 图1.2 本次利用 pytorch实现整个 LeNet模型,图中的 Subsampling层即可看作如今的池化层,最后一层(输出层)也当作全连接层进行处理。 1 import torch as torch 2 import torch.nn as nn 3 class LeNet(nn.Module): 4 def __init__(self): 5 super(LeNet,self).__init__() 6 layer1 = nn.Sequential() 7 layer1.add_module('conv1',nn.Conv2d(1,6,5)) 8 layer1.add_module('pool1',nn.MaxPool2d(2,2)) 9 self