【发布时间】:2021-05-11 12:57:00
【问题描述】:
上面使用 Matlab 的深度学习工具箱生成的图片显示了为玩具示例创建的 CNN 的架构。输入图像大小为25*20*7,过滤器数量为15,每个大小为5*5,填充为same。第一个卷积conv1 的输出是25*20*15,它进入大小为2*2 的maxpooling 1 操作,步幅为1,填充为same。
根据我的理解,maxpooling的作用是进行降维。但是,在我的代码中,因为填充设置为same,我知道maxpooling 的输出将保留其输入的空间维度,即25*20*15。这就是为什么 maxpooling1 的输出和 maxpooling 的其余部分与其输入具有相同的维度,并且其余层的维度没有变化。例如,maxpooling 的输出应该是:(25 - 2 +2*1/1) + 1 = 23+2/1 + 1 = 25。同样,对于第二维,maxpooling 将产生:(20 - 2 +2*1/1) + 1 = 18+2/1 + 1 = 20。因此,maxpooling 的输出应该是25*20*15。
这意味着 maxpooling 没有进行降维。因此,如果填充选项设置为same,我应该删除maxpooling吗?
请让我知道在进行 maxpooling 后尺寸是如何相同的,如果尺寸相同,那么我应该删除此操作吗?还是我做错了什么?
【问题讨论】:
-
您的问题与编程无关。使用 datascience.stackexchange.com 获取有关深度学习问题的帮助。
-
好的,我已经把问题贴在那里了。
标签: python matlab deep-learning conv-neural-network