资讯专栏INFORMATION COLUMN

AlexNet卷积层、池化层的输出图像尺寸计算

RyanQ / 3006人阅读

摘要:值得注意的是,模型中输入图像是。输入层到第一个卷积层池化层卷积层池化层卷积层卷积层卷积层池化层也就是最后一个池化层的,那么第一个全连接层的输入特征为。

AlexNet2012年时计算机的算力还不足以支持这么深层的模型,所以AlexNet当时是把模型并行放在两个GPU上,而这篇文章是合并计算的。值得注意的是,AlexNet模型中输入图像是224×224×3。

AlexNet模型

先看模型代码:

net = nn.Sequential(

         nn.Conv2d(3, 96, kernel_size=11, stride=4, padding=2), nn.ReLU(),

         nn.MaxPool2d(kernel_size=3, stride=2),

         nn.Conv2d(96, 256, kernel_size=5, stride=1, padding=2), nn.ReLU(),

         nn.MaxPool2d(kernel_size=3, stride=2),

         nn.Conv2d(256, 384, kernel_size=3, stride=1, padding=1), nn.ReLU(),

         nn.Conv2d(384, 384, kernel_size=3, stride=1, padding=1), nn.ReLU(),

         nn.Conv2d(384, 256, kernel_size=3, stride=1, padding=1), nn.ReLU(),

         nn.MaxPool2d(kernel_size=3, stride=2), nn.Flatten(),

         nn.Linear(9216, 4096), nn.ReLU(), nn.Dropout(p=0.5),

         nn.Linear(4096, 4096), nn.ReLU(), nn.Dropout(p=0.5),

         nn.Linear(4096, 1000), nn.ReLU(), nn.Dropout(p=0.5))

现在我们打印一下各层的输出:

 

 那么当你搭建这个神经网络模型时,对于第一个全连接层的输入特征(程序中的9216)怎么确定呢?这其实是有计算公式的:(长或宽-核的大小+2×padding)/stride+1。

输入层到第一个卷积层:(224-11+2×2)/4+1=55;

池化层:(55-3+2×0)/2+1=27;

卷积层:(27-5+2×2)/1+1=27;

池化层:(27-3+2×0)/2+1=13;

卷积层:(13-3+2×1)/1+1=13;

卷积层:(13-3+2×1)/1+1=13;

卷积层:(13-3+2×1)/1+1=13;

池化层:(13-3+2×0)/2+1=6;

也就是最后一个池化层的Output shape:torch.Size([1, 256, 6, 6]),那么第一个全连接层的输入特征为:256×6×6=9216。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123588.html

相关文章

  • 深度学习之卷积神经网络经典模型

    摘要:如今在计算机视觉领域,卷积神经网络的良好效果深得广大开发者的喜欢,并且上文提到的模型拥有更好的效果,所以广大从业者学习者试图将其改进以获得更好地效果。的实质是结构的增强版,它侧重强调卷积神经网络设计中的深度。 showImg(https://segmentfault.com/img/remote/1460000019500905); LeNet-5模型 在CNN的应用中,文字识别系统所...

    endless_road 评论0 收藏0
  • 深度学习之卷积神经网络经典模型

    摘要:如今在计算机视觉领域,卷积神经网络的良好效果深得广大开发者的喜欢,并且上文提到的模型拥有更好的效果,所以广大从业者学习者试图将其改进以获得更好地效果。的实质是结构的增强版,它侧重强调卷积神经网络设计中的深度。 showImg(https://segmentfault.com/img/remote/1460000019500905); LeNet-5模型 在CNN的应用中,文字识别系统所...

    chadLi 评论0 收藏0
  • 深度学习背景下的神经网络架构演变

    摘要:我想重温过去几年深度学习背景下的神经网络设计史。卷积神经网络成为深度学习的主力,深度学习是可以完成有用任务的大型神经网络的新名字。和的开始探索减少深度神经网络的计算负担,提出了第一个架构。 深度神经网络和深度学习是强大、流行的算法。它们的成功常常源于神经网络架构的精心设计。我想重温过去几年深度学习背景下的神经网络设计史。我们(译者注:Alfredo Canziani、Adam Paszke、...

    MorePainMoreGain 评论0 收藏0
  • CNN浅析和历年ImageNet冠军模型解析

    摘要:卷积神经网络原理浅析卷积神经网络,最初是为解决图像识别等问题设计的,当然其现在的应用不仅限于图像和视频,也可用于时间序列信号,比如音频信号文本数据等。卷积神经网络的概念最早出自世纪年代科学家提出的感受野。 卷积神经网络原理浅析  卷积神经网络(Convolutional Neural Network,CNN)最初是为解决图像识别等问题设计的,当然其现在的应用不仅限于图像和视频,也可用于时间序...

    edagarli 评论0 收藏0
  • 深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读

    早期成果卷积神经网络是各种深度神经网络中应用最广泛的一种,在机器视觉的很多问题上都取得了当前较好的效果,另外它在自然语言处理,计算机图形学等领域也有成功的应用。第一个真正意义上的卷积神经网络由LeCun在1989年提出[1],后来进行了改进,它被用于手写字符的识别,是当前各种深度卷积神经网络的鼻祖。接下来我们介绍LeCun在早期提出的3种卷积网络结构。 文献[1]的网络由卷积层和全连接层构成,网络...

    xiaodao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<