conv2d 公式_理解keras中conv2d层的输出形状

这个问题在互联网上以各种形式被问到,而且有一个简单的答案,常常被忽略或混淆:

简单回答:

Keras Conv2D层在多通道输入(例如彩色图像)的情况下,将在所有颜色通道上应用滤波器,并将结果求和,生成等效于单色卷积输出图像。在

(1)您正在使用CIFAR图像数据集进行培训,该数据集由32x32颜色图像组成,即每个图像都是形状(32,32,3)(RGB=3个通道)

(2)网络的第一层是一个Conv2D层,有32个过滤器,每个过滤器指定为3x3,因此:

Conv2D(32,(3,3),padding='same',输入形状=(32,32,3))

(3)与直觉相反,Keras将每个过滤器配置为(3,3,3),即覆盖3x3像素和所有颜色通道的3D体积。作为一个次要的细节,每个过滤器有一个额外的权重为一个偏差值,按照正常的神经网络层算法。在

(4)卷积过程完全正常,除了在每个步骤用3x3x3滤波器卷积来自输入图像的3x3x3体积,并且在每个步骤产生单个(单色)输出值(例如像素)。在

(5)结果是(32,32,3)图像上指定(3,3)滤波器的Keras Conv2D卷积产生(32,32)结果,因为实际使用的滤波器是(3,3,3)。在

(6)在本例中,我们还在Conv2D层中指定了32个过滤器,因此每个输入图像的实际输出为(32,32,32)(即,您可以将其视为32个图像,每个过滤器一个,每个32x32个单色像素)。在

作为检查,可以查看由生成的层的权重计数(Param#)模型.摘要():Layer (type) Output shape Param#

conv2d_1 (Conv2D) (None, 32, 32, 32) 896

有32个过滤器,每个3x3x3(即27个权重)加上1个偏差(即每个过滤器总共28个权重)。32个过滤器x每个28个权重=896个参数。在

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值