Keras中Conv2D和Convolution2D的区别

Posted

技术标签:

【中文标题】Keras中Conv2D和Convolution2D的区别【英文标题】:Difference between Conv2D and Convolution2D in Keras 【发布时间】:2018-05-05 00:12:08 【问题描述】:

Tensorflow 已经有了答案。 但问题是 在我的 IDE 中 Conv2D 是一个类 而 Convolution2D 是一个变量?

【问题讨论】:

【参考方案1】:

来自keras source code,它们是相同的: (源代码不时更改,上面链接中的行号最终可能会出错)

# Aliases

Convolution1D = Conv1D
Convolution2D = Conv2D
Convolution3D = Conv3D
SeparableConvolution2D = SeparableConv2D
Convolution2DTranspose = Conv2DTranspose
Deconvolution2D = Deconv2D = Conv2DTranspose
Deconvolution3D = Deconv3D = Conv3DTranspose

【讨论】:

为什么我收到此警告用户警告:更新您对 Keras 2 API 的 Conv2D 调用:Conv2D(32, (3, 3), input_shape=(64, 64, 3..., activation="relu")classifier.add(Conv2D(32,3,3,input_shape=(64,64, 3),activation='relu')) 因为您传递参数的方式在 Keras1 中是可以的,但不是 keras 2 的方式。它仍然支持旧方式,但它会给你这个信息。注意kernel_size=(3,3)。这就是在 keras 2 中应该如何完成的。

以上是关于Keras中Conv2D和Convolution2D的区别的主要内容,如果未能解决你的问题,请参考以下文章

Keras / Theano:如何添加 Convolution2D 层?

Keras 中的 conv2d 和 Conv2D 有啥区别?

keras.layers.Conv2D 的默认内核大小、零填充和步幅是多少?

keras.layers.Conv2D的默认内核大小,零填充和步幅是什么?

如何在 Conv2D 层中使用 keras 指定填充?

Keras Conv2D 和输入通道