From 36ae90a7b4e36ec4b93d95af74198374d0798720 Mon Sep 17 00:00:00 2001 From: jiahongyu Date: Sun, 26 Feb 2023 08:58:36 +0000 Subject: [PATCH] unittest change to fill_constant+elementwise_pow --- paddle/fluid/prim/tests/CMakeLists.txt | 1 + paddle/fluid/prim/tests/test_static_prim.cc | 43 +++++++++++-------- ...test_comp_get_grad_op_desc_prim_enabled.py | 3 +- .../unittests/prim/test_comp_skip_op_set.py | 3 +- 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/paddle/fluid/prim/tests/CMakeLists.txt b/paddle/fluid/prim/tests/CMakeLists.txt index 0118f5e127c766..07098c92e05230 100644 --- a/paddle/fluid/prim/tests/CMakeLists.txt +++ b/paddle/fluid/prim/tests/CMakeLists.txt @@ -30,6 +30,7 @@ cc_test_old( operator elementwise_mul_op elementwise_sub_op + elementwise_pow_op fill_constant_op activation_op phi_api diff --git a/paddle/fluid/prim/tests/test_static_prim.cc b/paddle/fluid/prim/tests/test_static_prim.cc index 32bdb01a218c5e..b7376d1689edd6 100644 --- a/paddle/fluid/prim/tests/test_static_prim.cc +++ b/paddle/fluid/prim/tests/test_static_prim.cc @@ -194,7 +194,7 @@ TEST(StaticPrim, TanhBackwardComposite) { target_block, grad_sub_block)); ASSERT_EQ(target_block->AllOps().size(), static_cast(1)); - ASSERT_EQ(grad_ops.size(), static_cast(4)); + ASSERT_EQ(grad_ops.size(), static_cast(5)); ASSERT_EQ(target_block->AllOps()[0]->Type(), "tanh"); ASSERT_EQ(target_block->AllOps()[0]->Inputs().at("X").size(), static_cast(1)); @@ -204,36 +204,41 @@ TEST(StaticPrim, TanhBackwardComposite) { ASSERT_EQ(target_block->AllOps()[0]->Outputs().at("Out")[0], "b"); ASSERT_EQ(target_block->AllOps()[0]->Outputs().at("Out")[0], "b"); - ASSERT_EQ(grad_ops[0]->Type(), "pow"); - ASSERT_EQ(grad_ops[0]->Inputs().at("X").size(), static_cast(1)); - ASSERT_EQ(grad_ops[0]->Inputs().at("X")[0], "b"); - ASSERT_EQ(PADDLE_GET_CONST(float, grad_ops[0]->GetAttr("factor")), - static_cast(2.0)); + ASSERT_EQ(grad_ops[0]->Type(), "fill_constant"); + ASSERT_EQ(PADDLE_GET_CONST(int, grad_ops[0]->GetAttr("dtype")), + static_cast(5)); // ProtoDataType::FP32 ASSERT_EQ(grad_ops[0]->Outputs().at("Out").size(), static_cast(1)); - ASSERT_EQ(grad_ops[1]->Type(), "fill_constant"); - ASSERT_EQ(PADDLE_GET_CONST(int, grad_ops[1]->GetAttr("dtype")), - static_cast(5)); // ProtoDataType::FP32 - ASSERT_EQ(grad_ops[1]->Outputs().at("Out").size(), + ASSERT_EQ(grad_ops[1]->Type(), "elementwise_pow"); + ASSERT_EQ(grad_ops[1]->Inputs().at("X").size(), static_cast(1)); + ASSERT_EQ(grad_ops[1]->Inputs().at("Y").size(), static_cast(1)); + ASSERT_EQ(grad_ops[1]->Inputs().at("X")[0], "b"); + ASSERT_EQ(grad_ops[0]->Outputs().at("Out").size(), static_cast(1)); - ASSERT_EQ(grad_ops[2]->Type(), "elementwise_sub"); - ASSERT_EQ(grad_ops[2]->Inputs().at("X").size(), static_cast(1)); - ASSERT_EQ(grad_ops[2]->Inputs().at("Y").size(), static_cast(1)); - ASSERT_EQ(grad_ops[2]->Inputs().at("X")[0], - grad_ops[1]->Outputs().at("Out")[0]); + ASSERT_EQ(grad_ops[2]->Type(), "fill_constant"); + ASSERT_EQ(PADDLE_GET_CONST(int, grad_ops[2]->GetAttr("dtype")), + static_cast(5)); // ProtoDataType::FP32 ASSERT_EQ(grad_ops[2]->Outputs().at("Out").size(), static_cast(1)); - ASSERT_EQ(grad_ops[3]->Type(), "elementwise_mul"); + ASSERT_EQ(grad_ops[3]->Type(), "elementwise_sub"); ASSERT_EQ(grad_ops[3]->Inputs().at("X").size(), static_cast(1)); ASSERT_EQ(grad_ops[3]->Inputs().at("Y").size(), static_cast(1)); - ASSERT_EQ(grad_ops[3]->Inputs().at("Y")[0], + ASSERT_EQ(grad_ops[3]->Inputs().at("X")[0], grad_ops[2]->Outputs().at("Out")[0]); - ASSERT_EQ(grad_ops[3]->Inputs().at("X")[0], "b@GRAD"); ASSERT_EQ(grad_ops[3]->Outputs().at("Out").size(), static_cast(1)); + + ASSERT_EQ(grad_ops[4]->Type(), "elementwise_mul"); + ASSERT_EQ(grad_ops[4]->Inputs().at("X").size(), static_cast(1)); + ASSERT_EQ(grad_ops[4]->Inputs().at("Y").size(), static_cast(1)); + ASSERT_EQ(grad_ops[4]->Inputs().at("Y")[0], + grad_ops[3]->Outputs().at("Out")[0]); + ASSERT_EQ(grad_ops[4]->Inputs().at("X")[0], "b@GRAD"); + ASSERT_EQ(grad_ops[4]->Outputs().at("Out").size(), + static_cast(1)); } TEST(StaticCompositeGradMaker, TestMutiInputMethod) { @@ -376,7 +381,7 @@ TEST(StaticPrim, TestFlags) { USE_OP_ITSELF(fill_constant); USE_OP_ITSELF(tanh); USE_OP_ITSELF(tanh_grad); -USE_OP_ITSELF(pow); USE_OP_ITSELF(elementwise_mul); USE_OP_ITSELF(elementwise_sub); +USE_OP_ITSELF(elementwise_pow); USE_OP_ITSELF(scale); diff --git a/python/paddle/fluid/tests/unittests/prim/test_comp_get_grad_op_desc_prim_enabled.py b/python/paddle/fluid/tests/unittests/prim/test_comp_get_grad_op_desc_prim_enabled.py index fbcf526a568574..3d9c68a16f55e6 100644 --- a/python/paddle/fluid/tests/unittests/prim/test_comp_get_grad_op_desc_prim_enabled.py +++ b/python/paddle/fluid/tests/unittests/prim/test_comp_get_grad_op_desc_prim_enabled.py @@ -42,7 +42,8 @@ set(), tuple(), ( - 'pow', + 'fill_constant', + 'elementwise_pow', 'fill_constant', 'elementwise_sub', 'elementwise_mul', diff --git a/python/paddle/fluid/tests/unittests/prim/test_comp_skip_op_set.py b/python/paddle/fluid/tests/unittests/prim/test_comp_skip_op_set.py index 2b1056bc56d305..1fab1a1f636499 100644 --- a/python/paddle/fluid/tests/unittests/prim/test_comp_skip_op_set.py +++ b/python/paddle/fluid/tests/unittests/prim/test_comp_skip_op_set.py @@ -28,7 +28,8 @@ def setUp(self): self.grad_sub_block = tuple() self.desired_ops = 'tanh_grad' self.desired_ops_no_skip = ( - 'pow', + 'fill_constant', + 'elementwise_pow', 'fill_constant', 'elementwise_sub', 'elementwise_mul',