From 50d66a07908748a13c80ea1b84824697b4efd26e Mon Sep 17 00:00:00 2001 From: minqiyang Date: Tue, 21 Aug 2018 00:20:06 +0800 Subject: [PATCH] Fix prelu_op --- paddle/scripts/paddle_build.sh | 3 +- .../paddle/fluid/tests/unittests/op_test.py | 2 +- .../fluid/tests/unittests/test_prelu_op.py | 57 ++++++++++++------- 3 files changed, 38 insertions(+), 24 deletions(-) diff --git a/paddle/scripts/paddle_build.sh b/paddle/scripts/paddle_build.sh index 752c20fa0f2..1b4e8492583 100755 --- a/paddle/scripts/paddle_build.sh +++ b/paddle/scripts/paddle_build.sh @@ -314,14 +314,13 @@ function run_test() { ======================================== EOF ctest --output-on-failure -R graph_test -V - ctest --output-on-failure -R test_prelu_op -V - ctest --output-on-failure -R test_prelu_op -V ctest --output-on-failure -R test_dist_transpiler -V ctest --output-on-failure -R test_dist_word2vec -V ctest --output-on-failure -R test_desc_clone -V ctest --output-on-failure -R test_dist_mnist -V ctest --output-on-failure -R test_listen_and_serv_op -V ctest --output-on-failure -R test_debugger -V + ctest --output-on-failure -R test_prelu_op -V ctest --output-on-failure -R test_dist_transformer -V ctest --output-on-failure -R test_dist_se_resnext -V diff --git a/python/paddle/fluid/tests/unittests/op_test.py b/python/paddle/fluid/tests/unittests/op_test.py index 511f88bd30b..972e44c9528 100644 --- a/python/paddle/fluid/tests/unittests/op_test.py +++ b/python/paddle/fluid/tests/unittests/op_test.py @@ -123,7 +123,7 @@ def get_numeric_gradient(place, y_neg = get_output() __set_elem__(tensor_to_check, i, origin) - gradient_flat[i] = (y_pos - y_neg) / delta // 2 + gradient_flat[i] = (y_pos - y_neg) / delta / 2 return gradient_flat.reshape(tensor_to_check.shape()) diff --git a/python/paddle/fluid/tests/unittests/test_prelu_op.py b/python/paddle/fluid/tests/unittests/test_prelu_op.py index 3f006553846..dfe278d3009 100644 --- a/python/paddle/fluid/tests/unittests/test_prelu_op.py +++ b/python/paddle/fluid/tests/unittests/test_prelu_op.py @@ -21,6 +21,9 @@ from op_test import OpTest class PReluTest(OpTest): def setUp(self): + print('setUp') + import sys + sys.stdout.flush() self.op_type = "prelu" self.initTestCase() x_np = np.random.normal(size=(3, 5, 5, 10)).astype("float32") @@ -39,32 +42,45 @@ class PReluTest(OpTest): alpha_np = np.random.rand(*x_np.shape).astype("float32") self.inputs = {'X': x_np, 'Alpha': alpha_np} - import sys - print('self.inputs', self.inputs) - sys.stdout.flush() - out_np = np.maximum(self.inputs['X'], 0.) out_np = out_np + np.minimum(self.inputs['X'], 0.) * self.inputs['Alpha'] assert out_np is not self.inputs['X'] + self.outputs = {'Out': out_np} + + def tearDown(self): + print('tearDown') import sys - print('self.outputs', self.outputs) sys.stdout.flush() - self.outputs = {'Out': out_np} + del self.outputs + del self.inputs def initTestCase(self): self.attrs = {'mode': "channel"} - def test_check_output(self): + def test_check_4_output(self): + print('test_check_0_output') + import sys + sys.stdout.flush() self.check_output() - def test_check_grad(self): - self.check_grad(['X', 'Alpha'], 'Out') - - def test_check_grad_ignore_x(self): + def test_check_0_grad_2_ignore_x(self): + print('test_check_2_grad_2_ignore_x') + import sys + sys.stdout.flush() self.check_grad(['Alpha'], 'Out', no_grad_set=set('X')) - def test_check_grad_ignore_alpha(self): + # TODO(minqiyang): remove the order of tests + def test_check_1_grad_1(self): + print('test_check_1_grad_1') + import sys + sys.stdout.flush() + self.check_grad(['X', 'Alpha'], 'Out') + + def test_check_3_grad_3_ignore_alpha(self): + print('test_check_3_grad_3_ignore_alpha') + import sys + sys.stdout.flush() self.check_grad(['X'], 'Out', no_grad_set=set('Alpha')) @@ -73,15 +89,14 @@ class TestCase1(PReluTest): self.attrs = {'mode': "all"} -class TestCase2(PReluTest): - def initTestCase(self): - self.attrs = {'mode': "channel"} - - -class TestCase3(PReluTest): - def initTestCase(self): - self.attrs = {'mode': "element"} - +#class TestCase2(PReluTest): +# def initTestCase(self): +# self.attrs = {'mode': "channel"} +# +# +#class TestCase3(PReluTest): +# def initTestCase(self): +# self.attrs = {'mode': "element"} if __name__ == "__main__": unittest.main() -- GitLab