如何使用Keras Conv2D dilation_rate参数而不进行二次采样?

时间:2017-10-16 19:38:11

标签: keras cntk

当我将dilation_rate参数传递给Conv2D时,会对结果输出进行子采样。如,

inputs = Input(shape=(160,240,1))
lay = Conv2D(32, kernel_size=(3,3), dilation_rate=(2,2), use_bias=False)(inputs)
print(lay)

产量

Composite(input_1: Tensor[160,240,1]) -> Tensor[78,118,32]

从输出中可以看出,160x240输入正被子采样到78x118。这对我来说似乎不对。使用扩张卷积不一定意味着我想要一个二次抽样结果。是否有某种解决方法?

我正在使用Keras 2.0.6后端运行CNTK 2.2

1 个答案:

答案 0 :(得分:0)

你的问题肯定与cntk后端有关。我无法使用tensorflow或theano后端重现它。 (我的形状为(?,156,236,32))

我建议将strides选项明确设置为1(它应该是默认值,即使它不是cntk后端)。