Convolution2D层在Keras中的运作方式如何?

时间:2016-12-16 06:22:23

标签: deep-learning keras conv-neural-network

我想和Convolution2D一样编写自己的卷积层。 它在Keras如何运作? 例如,如果Convolution2D(64,3,3,activation ='relu',input_shape =(3,226,226) 哪个等式用于输出数据?

2 个答案:

答案 0 :(得分:5)

由于您输入的图像形状是(266,266,3)[tf] /(3,266,266)[th],并且过滤器编号是64,内核大小是3x3,并且对于填充,我认为默认填充为1,默认步幅为1.

因此,输出为266x266x64。

output_width=output_height=(width – filter + 2*padding)/stride + 1

在你的代码中,width = 266,filter = 3,padding = 1,stride = 1.

如果您在理解基本概念时遇到任何问题,我想您可以阅读this cs231n post了解更多信息。

有关如何理解转化过程的方法,请点击here

答案 1 :(得分:1)

实际上,Keras 并没有在 conv2d 中做卷积。 为了加快处理速度,卷积运算被转换为矩阵(row-per-column)乘法。 更多信息here,见第 6 章。