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