首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用2个2d 2d层时的图像输出

应用2个2d 2d层时的图像输出
EN

Stack Overflow用户
提问于 2019-12-29 11:43:56
回答 1查看 80关注 0票数 0

你能在下面的问题上帮我吗?我已经为MNIST数据集编写了以下代码。总而言之,第一个输出对我来说是可以的。但是我不确定为什么(None, 30, 24, 32)会显示在第二层。

32*26*26上应用32(3*3)过滤器时,输出应为32*24*24

先谢谢你...

代码语言:javascript
复制
model = Sequential()
model.add(Convolution2D(32, (3, 3), activation='relu', input_shape=(1,28,28), data_format='channels_first'))
model.add(Convolution2D(32,3,3))
model.summary()
代码语言:javascript
复制
Layer (type)                 Output Shape              Param #   
=================================================================
conv2d_102 (Conv2D)          (None, 32, 26, 26)        320       
_________________________________________________________________
conv2d_103 (Conv2D)          (None, 30, 24, 32)        7520      
EN

回答 1

Stack Overflow用户

发布于 2019-12-29 19:13:32

在第3- model.add(Convolution2D(32,3,3))行中,第二个参数kernel_size被分配了3,第三个参数stride被分配了3,而不是kernel_size被分配了(3,3)3,而stride被分配了1

作为参考,来自Keras docsConvolution2D定义为:

代码语言:javascript
复制
`keras.layers.Conv2D(filters, kernel_size, strides=(1, 1), padding='valid', ...)`

因此,必须将第3行修改为:model.add(Convolution2D(32,(3,3)))model.add(Convolution2D(32,3,1)),或者仅修改为model.add(Convolution2D(32,3))以实现所需的卷积。

注意:还必须将data_format设置为channels_first,才能使输出具有shape:(None,32,24,24)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59516700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档