Keras,如何在卷积2D中定义填充



在keras的Convolution2D文档中,我发现没有关于padding定义的细节

keras.layers.convolutional.Convolution2D(nb_filter, 
                                         nb_row, 
                                         nb_col, 
                                         init='glorot_uniform', 
                                         activation=None, 
                                         weights=None, 
                                         border_mode='valid', 
                                         subsample=(1, 1), 
                                         dim_ordering='default', 
                                         W_regularizer=None, 
                                         b_regularizer=None, 
                                         activity_regularizer=None, 
                                         W_constraint=None, 
                                         b_constraint=None, 
                                         bias=True)

subsample参数是

长度为 2 的元组。对输出进行子采样的因子。其他地方也称为步幅。

我认为这是大步前进。

border_mode论点是

"

有效"、"相同"或"完整"。("full"需要Theano后端。

validsame也是TensorFlow的conv2d函数中的参数。

如何

定义填充,如何设置其值?

你想要的是ZeroPadding2D层,只需将其放在卷积层之前即可。这比仅仅将此功能放在 Convolution2D 中更灵活。

上面接受的答案提到了Keras中的ZeroPadding2D层。但是,如果要使用 Keras 未提供的一些其他类型的填充,例如反射填充,则应自行实现它们。

据我所知,有两种方法可以在 Keras 中自定义填充层:1. 在 Keras 中使用 Lambda 层,并从 Keras 的后端(通常是 TensorFlow)调用填充函数。2. 定义您自己的图层类。有关更多详细信息,请参阅此问题。

最新更新