From e11eecacca776bb07e8aa5cd40fb7552cbbf35be Mon Sep 17 00:00:00 2001 From: PommesPeter <434596665@qq.com> Date: Wed, 29 Nov 2023 19:25:10 +0800 Subject: [PATCH] :truck: Refactor: moved uint8 support for sign to #59514 --- paddle/phi/kernels/cpu/sign_kernel.cc | 1 - paddle/phi/kernels/funcs/eigen/sign.cc | 1 - paddle/phi/kernels/funcs/eigen/sign.cu | 1 - paddle/phi/kernels/gpu/sign_kernel.cu.cc | 1 - test/legacy_test/test_sign_op.py | 38 +++++++----------------- 5 files changed, 11 insertions(+), 31 deletions(-) diff --git a/paddle/phi/kernels/cpu/sign_kernel.cc b/paddle/phi/kernels/cpu/sign_kernel.cc index 0db47fc2f52662..f03f39f80dcbed 100644 --- a/paddle/phi/kernels/cpu/sign_kernel.cc +++ b/paddle/phi/kernels/cpu/sign_kernel.cc @@ -25,7 +25,6 @@ PD_REGISTER_KERNEL(sign, CPU, ALL_LAYOUT, phi::SignKernel, - uint8_t, int8_t, int16_t, int32_t, diff --git a/paddle/phi/kernels/funcs/eigen/sign.cc b/paddle/phi/kernels/funcs/eigen/sign.cc index fe5868e5ef441b..e71257f3f74aae 100644 --- a/paddle/phi/kernels/funcs/eigen/sign.cc +++ b/paddle/phi/kernels/funcs/eigen/sign.cc @@ -29,7 +29,6 @@ struct EigenSign { } }; -template struct EigenSign; template struct EigenSign; template struct EigenSign; template struct EigenSign; diff --git a/paddle/phi/kernels/funcs/eigen/sign.cu b/paddle/phi/kernels/funcs/eigen/sign.cu index 88922bd86f2e21..58a4fe36232b6f 100644 --- a/paddle/phi/kernels/funcs/eigen/sign.cu +++ b/paddle/phi/kernels/funcs/eigen/sign.cu @@ -29,7 +29,6 @@ struct EigenSign { } }; -template struct EigenSign; template struct EigenSign; template struct EigenSign; template struct EigenSign; diff --git a/paddle/phi/kernels/gpu/sign_kernel.cu.cc b/paddle/phi/kernels/gpu/sign_kernel.cu.cc index c160410ea60542..bbccc906a06e3c 100644 --- a/paddle/phi/kernels/gpu/sign_kernel.cu.cc +++ b/paddle/phi/kernels/gpu/sign_kernel.cu.cc @@ -25,7 +25,6 @@ PD_REGISTER_KERNEL(sign, GPU, ALL_LAYOUT, phi::SignKernel, - uint8_t, int8_t, int16_t, int32_t, diff --git a/test/legacy_test/test_sign_op.py b/test/legacy_test/test_sign_op.py index 24a5983c279dbb..92422a6fb9520f 100644 --- a/test/legacy_test/test_sign_op.py +++ b/test/legacy_test/test_sign_op.py @@ -93,16 +93,12 @@ def test_dygraph(self): self.assertEqual((np_z == z_expected).all(), True) def test_static(self): - np_input1 = np.random.uniform(-10, 10, (12, 10)).astype("int8") - np_input2 = np.random.uniform(-10, 10, (12, 10)).astype("uint8") - np_input3 = np.random.uniform(-10, 10, (12, 10)).astype("int16") - np_input4 = np.random.uniform(-10, 10, (12, 10)).astype("int32") - np_input5 = np.random.uniform(-10, 10, (12, 10)).astype("int64") - np_out1 = np.sign(np_input1) + np_input2 = np.random.uniform(-10, 10, (12, 10)).astype("int16") + np_input3 = np.random.uniform(-10, 10, (12, 10)).astype("int32") + np_input4 = np.random.uniform(-10, 10, (12, 10)).astype("int64") np_out2 = np.sign(np_input2) np_out3 = np.sign(np_input3) np_out4 = np.sign(np_input4) - np_out5 = np.sign(np_input5) def run(place): with program_guard(Program(), Program()): @@ -110,47 +106,35 @@ def run(place): input1 = 12 self.assertRaises(TypeError, paddle.tensor.math.sign, input1) # The result of sign_op must correct. - input1 = paddle.static.data( - name='input1', shape=[12, 10], dtype="int8" - ) input2 = paddle.static.data( - name='input2', shape=[12, 10], dtype="uint8" + name='input2', shape=[12, 10], dtype="int16" ) input3 = paddle.static.data( - name='input3', shape=[12, 10], dtype="int16" + name='input3', shape=[12, 10], dtype="int32" ) input4 = paddle.static.data( - name='input4', shape=[12, 10], dtype="int32" - ) - input5 = paddle.static.data( - name='input5', shape=[12, 10], dtype="int64" + name='input4', shape=[12, 10], dtype="int64" ) - out1 = paddle.sign(input1) out2 = paddle.sign(input2) out3 = paddle.sign(input3) out4 = paddle.sign(input4) - out5 = paddle.sign(input5) exe = paddle.static.Executor(place) - res1, res2, res3, res4, res5 = exe.run( + res2, res3, res4 = exe.run( paddle.static.default_main_program(), feed={ - "input1": np_input1, "input2": np_input2, "input3": np_input3, "input4": np_input4, - "input5": np_input5, }, - fetch_list=[out1, out2, out3, out4, out5], + fetch_list=[out2, out3, out4], ) - self.assertEqual((res1 == np_out1).all(), True) self.assertEqual((res2 == np_out2).all(), True) self.assertEqual((res3 == np_out3).all(), True) self.assertEqual((res4 == np_out4).all(), True) - self.assertEqual((res5 == np_out5).all(), True) - input6 = paddle.static.data( - name='input6', shape=[-1, 4], dtype="float16" + input5 = paddle.static.data( + name='input5', shape=[-1, 4], dtype="float16" ) - paddle.sign(input6) + paddle.sign(input5) for place in self.place: run(place)