diff --git a/paddle/fluid/operators/mkldnn/concat_mkldnn_op.cc b/paddle/fluid/operators/mkldnn/concat_mkldnn_op.cc index 505a628f502ec62567e52973c77035a4b770d60c..8c3b4e7ab4145045558e1c13e12ba07003c7f8bc 100644 --- a/paddle/fluid/operators/mkldnn/concat_mkldnn_op.cc +++ b/paddle/fluid/operators/mkldnn/concat_mkldnn_op.cc @@ -159,8 +159,8 @@ class ConcatPrimitiveFactory { std::vector srcs_pd; std::vector srcs; std::vector inputs; - boost::optional dst_mem; // TODO(mgallus): change to std::optional -}; // upon introduction of C++17 to paddle + boost::optional dst_mem; +}; template class ConcatMKLDNNOpKernel : public paddle::framework::OpKernel { diff --git a/paddle/fluid/operators/mkldnn/conv_mkldnn_op.cc b/paddle/fluid/operators/mkldnn/conv_mkldnn_op.cc index dbb792616a3f2e8f3b04e1a15549c24742ed06b1..e84bcc58ceef595c28dc9d5dce9b2bc6faf52723 100644 --- a/paddle/fluid/operators/mkldnn/conv_mkldnn_op.cc +++ b/paddle/fluid/operators/mkldnn/conv_mkldnn_op.cc @@ -157,7 +157,6 @@ class ConvMKLDNNOpKernel : public paddle::framework::OpKernel { int groups = ctx.Attr("groups"); bool is_conv3d = strides.size() == 3U; - // TODO(tpatejko): add support for dilation PADDLE_ENFORCE( is_conv3d ? dilations.size() == 3 && dilations[0] == 1 && dilations[1] == 1 && @@ -212,8 +211,7 @@ class ConvMKLDNNOpKernel : public paddle::framework::OpKernel { src_tz, platform::MKLDNNGetDataType(), chosen_memory_format); auto weights_md = platform::MKLDNNMemDesc( weights_tz, platform::MKLDNNGetDataType(), weights_format); - std::vector bias_tz; // TODO(mgallus): avoid empty vector creation. - // Currently used whenever bias is != nullptr. + std::vector bias_tz; auto dst_md = platform::MKLDNNMemDesc( dst_tz, platform::MKLDNNGetDataType(), chosen_memory_format); @@ -364,7 +362,6 @@ class ConvMKLDNNOpKernel : public paddle::framework::OpKernel { "residual fusion does not support force output with fp32"); bool is_conv3d = strides.size() == 3U; - // TODO(tpatejko): add support for dilation PADDLE_ENFORCE( is_conv3d ? dilations.size() == 3 && dilations[0] == 1 && dilations[1] == 1 && diff --git a/paddle/fluid/operators/mkldnn/conv_transpose_mkldnn_op.cc b/paddle/fluid/operators/mkldnn/conv_transpose_mkldnn_op.cc index 86be8f5acedd6ddf40841b0b2233acb3be69e7bd..79361d45f344add0a1ed127829456bec3bb58386 100644 --- a/paddle/fluid/operators/mkldnn/conv_transpose_mkldnn_op.cc +++ b/paddle/fluid/operators/mkldnn/conv_transpose_mkldnn_op.cc @@ -69,7 +69,6 @@ class ConvTransposeMKLDNNOpKernel : public paddle::framework::OpKernel { std::vector dilations = ctx.Attr>("dilations"); int groups = ctx.Attr("groups"); - // TODO(tpatejko): add support for dilation PADDLE_ENFORCE( dilations.size() == 2 && dilations[0] == 1 && dilations[1] == 1, "dilation in convolution is not implemented yet"); @@ -150,8 +149,7 @@ class ConvTransposeMKLDNNOpKernel : public paddle::framework::OpKernel { src_tz, platform::MKLDNNGetDataType(), chosen_memory_format); auto weights_md = platform::MKLDNNMemDesc( weights_tz, platform::MKLDNNGetDataType(), chosen_memory_format); - std::vector bias_tz; // TODO(mgallus): avoid empty vector creation. - // Currently used whenever bias is != nullptr. + std::vector bias_tz; auto dst_md = platform::MKLDNNMemDesc( dst_tz, platform::MKLDNNGetDataType(), chosen_memory_format); diff --git a/paddle/fluid/operators/mkldnn/gaussian_random_mkldnn_op.cc b/paddle/fluid/operators/mkldnn/gaussian_random_mkldnn_op.cc index 76b00b396c1349eff5db1059268e7cf280a8fc64..d992765ce91b128984a5544d61f5b600ae38ef69 100644 --- a/paddle/fluid/operators/mkldnn/gaussian_random_mkldnn_op.cc +++ b/paddle/fluid/operators/mkldnn/gaussian_random_mkldnn_op.cc @@ -40,8 +40,6 @@ class GaussianMKLDNNKernel : public paddle::framework::OpKernel { data[i] = dist(engine); } - // The format of output is set as the mkldnn's format - // TODO(@mozga-intel) The format of matrix sets inside the another layers. tensor->set_layout(DataLayout::kMKLDNN); tensor->set_format(mkldnn::memory::format::oihw); } diff --git a/paddle/fluid/operators/mkldnn/quantize_mkldnn_op.cc b/paddle/fluid/operators/mkldnn/quantize_mkldnn_op.cc index 11c2b83d6814ba5e926be68081cf64d0f726395a..e0e7829cd86fbc1736e393cf489a9b5192a03983 100644 --- a/paddle/fluid/operators/mkldnn/quantize_mkldnn_op.cc +++ b/paddle/fluid/operators/mkldnn/quantize_mkldnn_op.cc @@ -124,7 +124,5 @@ class QuantOpKernel : public framework::OpKernel { } // namespace paddle namespace ops = paddle::operators; -// TODO(Xiaoli) Support FP32->S8 quantization. - REGISTER_OP_KERNEL(quantize, MKLDNN, ::paddle::platform::CPUPlace, ops::QuantOpKernel); diff --git a/paddle/fluid/operators/mkldnn/requantize_mkldnn_op.cc b/paddle/fluid/operators/mkldnn/requantize_mkldnn_op.cc index 44e8281424ba6937dad2c2dee1db4dee96b3b2eb..9dfbafe53beb42c3c481a2b5bda0fe0b5579bcb1 100644 --- a/paddle/fluid/operators/mkldnn/requantize_mkldnn_op.cc +++ b/paddle/fluid/operators/mkldnn/requantize_mkldnn_op.cc @@ -47,9 +47,7 @@ class ReQuantOpKernel : public framework::OpKernel { std::vector dst_tz = paddle::framework::vectorize2int(output->dims()); mkldnn::memory::data_type src_dt = paddle::framework::ToMKLDNNDataType(input->type()); - mkldnn::memory::data_type dst_dt = src_dt; // TODO(Xiaoli) support - // requantize from different - // data type (e.g., s8 to u8) + mkldnn::memory::data_type dst_dt = src_dt; mkldnn::memory::format src_fmt = memory::format::nhwc; mkldnn::memory::format dst_fmt = memory::format::nhwc; diff --git a/paddle/fluid/operators/mkldnn/sum_mkldnn_op.cc b/paddle/fluid/operators/mkldnn/sum_mkldnn_op.cc index 6f64157b64e2f6247db8b49dc94cd10bfb6e861f..0649c059eccbc31ccc4d0d181e80b065078922f3 100644 --- a/paddle/fluid/operators/mkldnn/sum_mkldnn_op.cc +++ b/paddle/fluid/operators/mkldnn/sum_mkldnn_op.cc @@ -139,7 +139,6 @@ class SumMKLDNNOpKernel : public paddle::framework::OpKernel { output->set_layout(DataLayout::kMKLDNN); output->set_format(output_format); } else { // Fallback to naive version - // TODO(@mozga-intel) Add MKLDNN SelectedRows & LoDTensorArray support SumKernel reference_kernel; reference_kernel.Compute(ctx); } diff --git a/paddle/fluid/operators/ngraph/ops/reshape_op.h b/paddle/fluid/operators/ngraph/ops/reshape_op.h index 53a2aebe236c44f69b7d7a34dd7e6d54efc455e6..89ad04f06f61ba0b91c06965ed985c84842ee634 100644 --- a/paddle/fluid/operators/ngraph/ops/reshape_op.h +++ b/paddle/fluid/operators/ngraph/ops/reshape_op.h @@ -57,8 +57,7 @@ static void BuildReshapeNode( std::shared_ptr input = platform::GetInputNode(op, "X", ngb_node_map); auto input_shape = input->get_shape(); - // TODO(mozga-intel) The vector of shape is not supported yet, that's - // asDispensable() operator" + std::shared_ptr shape = platform::GetInputNode(op, "Shape", ngb_node_map); diff --git a/python/paddle/fluid/contrib/slim/quantization/mkldnn_post_training_strategy.py b/python/paddle/fluid/contrib/slim/quantization/mkldnn_post_training_strategy.py index 1b34983001eab435e362831f9420a1a8b83fb38a..ad5ef33bf770395efd50fce06021e7ec7c4db4af 100644 --- a/python/paddle/fluid/contrib/slim/quantization/mkldnn_post_training_strategy.py +++ b/python/paddle/fluid/contrib/slim/quantization/mkldnn_post_training_strategy.py @@ -83,8 +83,6 @@ class MKLDNNPostTrainingQuantStrategy(Strategy): if six.PY3: data = warmup_reader.__next__() - # TODO (Intel) Remove limits that MKLDNNPostTrainingQuantStrategy - # only support image classification num_images = len(data) image_data = [img.tolist() for (img, _) in data] image_data = np.array(image_data).astype("float32").reshape( diff --git a/python/paddle/fluid/tests/unittests/mkldnn/test_elementwise_mul_mkldnn_op.py b/python/paddle/fluid/tests/unittests/mkldnn/test_elementwise_mul_mkldnn_op.py index a9f748b5e497cc325842874ae9f5a6639feefff3..438a2ce5dcc2748c530afed17119f619fe00cf37 100644 --- a/python/paddle/fluid/tests/unittests/mkldnn/test_elementwise_mul_mkldnn_op.py +++ b/python/paddle/fluid/tests/unittests/mkldnn/test_elementwise_mul_mkldnn_op.py @@ -152,73 +152,6 @@ class TestElementwiseMulMKLDNNOp_Integrated_With_Convs(ElementwiseMulOp): pass -# TODO(LeoZhao-Intel): re-enable this case -# https://github.com/PaddlePaddle/Paddle/issues/16764 -@unittest.skip("Not supported well on avx2.") -class TestElementwiseMulMKLDNNOp_BroadcastNCHW16c(ElementwiseMulOp): - def init_input_output(self): - x = np.random.rand(1, 16, 2, 2).astype(self.dtype) - self.x = x.transpose(0, 2, 3, 1).reshape(1, 16, 2, 2) - self.y = np.random.rand(1, 16).astype(self.dtype) - - self.out = x * self.y.reshape(1, 16, 1, 1) - self.out = self.out.transpose(0, 2, 3, 1).reshape(1, 16, 2, 2) - - def setUp(self): - super(TestElementwiseMulMKLDNNOp_BroadcastNCHW16c, self).setUp() - self.attrs["x_data_format"] = "nchw16c" - self.attrs["y_data_format"] = "nc" - self._cpu_only = True - - def init_kernel_type(self): - self.use_mkldnn = True - - def init_axis(self): - self.axis = 0 - - def test_check_grad_normal(self): - pass - - def test_check_grad_ingore_x(self): - pass - - def test_check_grad_ingore_y(self): - pass - - -@unittest.skip( - "Not implemented yet.") # TODO(mgallus): enable when implemented. -class TestElementwiseMulMKLDNNOp_BroadcastNCHW8c(ElementwiseMulOp): - def init_input_output(self): - x = np.random.rand(1, 8, 2, 2).astype(self.dtype) - self.x = x.transpose(0, 2, 3, 1).reshape(1, 8, 2, 2) - self.y = np.random.rand(1, 8).astype(self.dtype) - - self.out = x * self.y.reshape(1, 8, 1, 1) - self.out = self.out.transpose(0, 2, 3, 1).reshape(1, 8, 2, 2) - - def setUp(self): - super(TestElementwiseMulMKLDNNOp_BroadcastNCHW8c, self).setUp() - self.attrs["x_data_format"] = "nchw8c" - self.attrs["y_data_format"] = "nc" - self._cpu_only = True - - def init_kernel_type(self): - self.use_mkldnn = True - - def init_axis(self): - self.axis = 0 - - def test_check_grad_normal(self): - pass - - def test_check_grad_ingore_x(self): - pass - - def test_check_grad_ingore_y(self): - pass - - class TestElementwiseMulMKLDNNOp_FallbackNCHW(ElementwiseMulOp): def init_input_output(self): self.x = np.random.rand(1, 16, 2, 2).astype(self.dtype)