使用keras python输出卷积层

巴克兹

我需要帮助来理解 CNN。

model = keras.models.Sequential()

model.add(convolutional.Convolution2D(32, (8,8), activation='relu', strides=(4, 4), padding='same',input_shape=(80,80,4)))

model.add(convolutional.Convolution2D(64, (4, 4), activation='relu', strides=(2, 2), padding='same'))

model.add(convolutional.Convolution2D(64, (3, 3), activation='relu', strides=(1, 1), padding='same'))

我不确定第一个 CNN 的输出。我知道它超过 32 个过滤器,内核大小为 8x8,步幅为 4x4。我也知道这个计算宽度的公式:

W=(W−F+2P)/S+1

W = (80 - 8 + ?? ) / 4 + 1

我不确定在 P 上放什么 - 这意味着 padding 。你能帮我理解第一个CNN的输出大小吗?另外,你能帮我理解为什么过滤器在第一步后从32变为64吗?有什么好的理由吗?

黑洞探测器

该参数padding=same意味着您的输入将被填充,以便该层的输出与原始输入具有相同的长度。向输入添加填充只是意味着在输入的外边缘周围添加像素(通常值为 0)。您希望这样做,以便指定的过滤器能够对整个输入进行卷积,而不会丢失边缘上的某些像素值。有关在 Keras conv 层中使用此参数的更多详细信息,请参见此处的 Keras 文档

要查看这些层的输出大小,请运行model.summary()这将显示模型中每一层的输出大小。

最后,过滤器大小是任意选择/设置的,但一般来说,随着模型变得更深和更复杂,过滤器通常会在后面的层中增加大小。我有一个关于 CNN视频,它解释了这些概念并直观地展示了这个过程,你可能会发现它很有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python 中使用 Numpy 的卷积层

来自分类Dev

使用 keras 在各个层上应用卷积

来自分类Dev

并行卷积层的keras实现

来自分类Dev

Python Keras如何在将卷积层转换为lstm层后更改输入的大小

来自分类Dev

Python Keras如何将密集层转换为卷积层

来自分类Dev

keras如何管理卷积层的权重?

来自分类Dev

使用 Keras 进行特征卷积

来自分类Dev

keras ReLU层的意外输出

来自分类Dev

Keras层的输出与标量相乘

来自分类Dev

获取Keras模型/层的输出

来自分类Dev

在CPU上使用卷积层时出错

来自分类Dev

在神经网络中使用卷积层

来自分类Dev

Keras卷积层与颜色通道有什么关系?

来自分类Dev

keras中的反卷积2D层

来自分类Dev

如何在Keras模型中添加卷积层?

来自分类Dev

如何在Keras中创建自定义卷积层

来自分类Dev

在 Keras 中连接之前调整卷积层的大小

来自分类Dev

使用keras以零均值进行卷积

来自分类Dev

了解奇怪的YOLO卷积层输出大小

来自分类Dev

乘以keras中的两层输出

来自分类Dev

如何批量获取中间Keras层的输出?

来自分类Dev

连接不同形状的keras层输出

来自分类Dev

TensorFlow/Keras:输出层的形状错误

来自分类Dev

使用OpenCL在烤宽面条中使用卷积层

来自分类Dev

使用fft进行系统输出的线性卷积

来自分类Dev

在以下情况下使用哪个Keras输出层/损失函数

来自分类Dev

使用Numpy在卷积层中实现反向传播

来自分类Dev

在 Keras 中使用 TimeDistributed 和循环层

来自分类Dev

keras 双向层使用 4 维数据