diff --git a/python/paddle/fluid/dygraph/nn.py b/python/paddle/fluid/dygraph/nn.py index 3403e8470b65dcb1363fb9baa5a64ad8664df931..08df66701164db3ecd504694a0fae8388ae46cdf 100644 --- a/python/paddle/fluid/dygraph/nn.py +++ b/python/paddle/fluid/dygraph/nn.py @@ -183,14 +183,11 @@ class Conv2D(layers.Layer): self._bias_attr = bias_attr self._dtype = dtype - # TODO: recover the usage of depthwise_conv2d when it's - # kernel fixed https://github.com/PaddlePaddle/Paddle/issues/17098 - # if (self._num_channels == self._groups and - # num_filters % self._num_channels == 0 and not self._use_cudnn): - # self._l_type = 'depthwise_conv2d' - # else: - # self._l_type = 'conv2d' - self._l_type = 'conv2d' + if (self._num_channels == self._groups and + num_filters % self._num_channels == 0 and not self._use_cudnn): + self._l_type = 'depthwise_conv2d' + else: + self._l_type = 'conv2d' self._num_channels = num_channels if self._groups is None: @@ -234,7 +231,7 @@ class Conv2D(layers.Layer): 'use_mkldnn': False, } - if in_dygraph_mode(): + if in_dygraph_mode() and self._l_type == 'conv2d': outs = core.ops.conv2d(inputs, attrs) pre_bias = outs['Output'][0]