From bfff5e266638eb4d1a8e56a9710d2952f066283b Mon Sep 17 00:00:00 2001 From: longranger2 <836253168@qq.com> Date: Thu, 7 Dec 2023 18:18:03 +0800 Subject: [PATCH 1/7] migrate generate_proposals into pir --- python/paddle/vision/ops.py | 2 +- test/legacy_test/test_generate_proposals_op.py | 2 +- test/legacy_test/test_generate_proposals_v2_op.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/python/paddle/vision/ops.py b/python/paddle/vision/ops.py index 8434568e0e0173..9d5abd65bfd1fc 100755 --- a/python/paddle/vision/ops.py +++ b/python/paddle/vision/ops.py @@ -2122,7 +2122,7 @@ def generate_proposals( [1, 1]) """ - if in_dygraph_mode(): + if in_dynamic_or_pir_mode(): assert ( return_rois_num ), "return_rois_num should be True in dygraph mode." diff --git a/test/legacy_test/test_generate_proposals_op.py b/test/legacy_test/test_generate_proposals_op.py index 901d009effc5bc..2612782f75f5f7 100644 --- a/test/legacy_test/test_generate_proposals_op.py +++ b/test/legacy_test/test_generate_proposals_op.py @@ -350,7 +350,7 @@ def set_data(self): def test_check_output(self): # NODE(yjjiang11): This op will be deprecated. - self.check_output(check_dygraph=False) + self.check_output(check_dygraph=False, check_pir=True) def setUp(self): self.op_type = "generate_proposals" diff --git a/test/legacy_test/test_generate_proposals_v2_op.py b/test/legacy_test/test_generate_proposals_v2_op.py index 568c466e066661..40e1a2bdb48ff8 100644 --- a/test/legacy_test/test_generate_proposals_v2_op.py +++ b/test/legacy_test/test_generate_proposals_v2_op.py @@ -223,7 +223,7 @@ def set_data(self): } def test_check_output(self): - self.check_output() + self.check_output(check_pir=True) def setUp(self): self.op_type = "generate_proposals_v2" From 45649b297afeddc46320b1f49b0b81d129e8179e Mon Sep 17 00:00:00 2001 From: longranger2 <836253168@qq.com> Date: Thu, 7 Dec 2023 19:49:55 +0800 Subject: [PATCH 2/7] migrate graph_khop_sampler into pir --- python/paddle/incubate/operators/graph_khop_sampler.py | 4 ++-- test/legacy_test/test_graph_khop_sampler.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/python/paddle/incubate/operators/graph_khop_sampler.py b/python/paddle/incubate/operators/graph_khop_sampler.py index 45555786eb02d5..63a7340991849b 100644 --- a/python/paddle/incubate/operators/graph_khop_sampler.py +++ b/python/paddle/incubate/operators/graph_khop_sampler.py @@ -15,7 +15,7 @@ from paddle import _legacy_C_ops from paddle.base.data_feeder import check_variable_and_dtype from paddle.base.layer_helper import LayerHelper -from paddle.framework import in_dynamic_mode +from paddle.framework import in_dynamic_or_pir_mode def graph_khop_sampler( @@ -84,7 +84,7 @@ def graph_khop_sampler( """ - if in_dynamic_mode(): + if in_dynamic_or_pir_mode(): if return_eids: if sorted_eids is None: raise ValueError( diff --git a/test/legacy_test/test_graph_khop_sampler.py b/test/legacy_test/test_graph_khop_sampler.py index cee848d549e722..9b0a8eda8951ec 100644 --- a/test/legacy_test/test_graph_khop_sampler.py +++ b/test/legacy_test/test_graph_khop_sampler.py @@ -18,6 +18,7 @@ import paddle from paddle import base +from paddle.pir_utils import test_with_pir_api class TestGraphKhopSampler(unittest.TestCase): @@ -146,6 +147,7 @@ def test_uva_sample_result(self): in_neighbors = np.isin(edge_src_n.numpy(), self.dst_src_dict[n]) self.assertTrue(np.sum(in_neighbors) == in_neighbors.shape[0]) + @test_with_pir_api def test_sample_result_static_with_eids(self): paddle.enable_static() with paddle.static.program_guard(paddle.static.Program()): @@ -207,6 +209,7 @@ def test_sample_result_static_with_eids(self): in_neighbors = np.isin(edge_src_n, self.dst_src_dict[n]) self.assertTrue(np.sum(in_neighbors) == in_neighbors.shape[0]) + @test_with_pir_api def test_sample_result_static_without_eids(self): paddle.enable_static() with paddle.static.program_guard(paddle.static.Program()): From 8b7efb40f7f4739eaac2ae874c4d5da25bdf5757 Mon Sep 17 00:00:00 2001 From: longranger2 <836253168@qq.com> Date: Thu, 7 Dec 2023 19:55:17 +0800 Subject: [PATCH 3/7] migrate graph_reindex into pir --- python/paddle/incubate/operators/graph_reindex.py | 4 ++-- test/legacy_test/test_graph_reindex.py | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/python/paddle/incubate/operators/graph_reindex.py b/python/paddle/incubate/operators/graph_reindex.py index abba95b97ca039..af124893541c9c 100644 --- a/python/paddle/incubate/operators/graph_reindex.py +++ b/python/paddle/incubate/operators/graph_reindex.py @@ -15,7 +15,7 @@ from paddle import _C_ops from paddle.base.data_feeder import check_variable_and_dtype from paddle.base.layer_helper import LayerHelper -from paddle.framework import in_dynamic_mode +from paddle.framework import in_dynamic_or_pir_mode from paddle.utils import deprecated @@ -130,7 +130,7 @@ def graph_reindex( "be None if `flag_buffer_hashtable` is True." ) - if in_dynamic_mode(): + if in_dynamic_or_pir_mode(): reindex_src, reindex_dst, out_nodes = _C_ops.reindex_graph( x, neighbors, diff --git a/test/legacy_test/test_graph_reindex.py b/test/legacy_test/test_graph_reindex.py index 275c49b1cbd47f..13ec55660a9e16 100644 --- a/test/legacy_test/test_graph_reindex.py +++ b/test/legacy_test/test_graph_reindex.py @@ -17,6 +17,7 @@ import numpy as np import paddle +from paddle.pir_utils import test_with_pir_api class TestGraphReindex(unittest.TestCase): @@ -128,6 +129,7 @@ def test_heter_reindex_result_v2(self): np.testing.assert_allclose(reindex_dst, reindex_dst_, rtol=1e-05) np.testing.assert_allclose(out_nodes, out_nodes_, rtol=1e-05) + @test_with_pir_api def test_reindex_result_static(self): paddle.enable_static() with paddle.static.program_guard(paddle.static.Program()): @@ -369,6 +371,7 @@ def test_heter_reindex_result_v3(self): np.testing.assert_allclose(reindex_dst, reindex_dst_, rtol=1e-05) np.testing.assert_allclose(out_nodes, out_nodes_, rtol=1e-05) + @test_with_pir_api def test_reindex_result_static(self): paddle.enable_static() with paddle.static.program_guard(paddle.static.Program()): @@ -448,6 +451,7 @@ def test_reindex_result_static(self): ) np.testing.assert_allclose(self.out_nodes, out_nodes_2, rtol=1e-05) + @test_with_pir_api def test_heter_reindex_result_static(self): paddle.enable_static() np_x = np.arange(5).astype("int64") From 97fed79e2f90043d5ed26c75226edae4595fc0f7 Mon Sep 17 00:00:00 2001 From: longranger2 <836253168@qq.com> Date: Thu, 14 Dec 2023 00:13:04 +0800 Subject: [PATCH 4/7] fix bug --- .../incubate/operators/graph_khop_sampler.py | 4 +-- python/paddle/vision/ops.py | 28 +++++++++++++++++-- .../legacy_test/test_generate_proposals_op.py | 2 +- test/legacy_test/test_graph_reindex.py | 2 -- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/python/paddle/incubate/operators/graph_khop_sampler.py b/python/paddle/incubate/operators/graph_khop_sampler.py index 63a7340991849b..45555786eb02d5 100644 --- a/python/paddle/incubate/operators/graph_khop_sampler.py +++ b/python/paddle/incubate/operators/graph_khop_sampler.py @@ -15,7 +15,7 @@ from paddle import _legacy_C_ops from paddle.base.data_feeder import check_variable_and_dtype from paddle.base.layer_helper import LayerHelper -from paddle.framework import in_dynamic_or_pir_mode +from paddle.framework import in_dynamic_mode def graph_khop_sampler( @@ -84,7 +84,7 @@ def graph_khop_sampler( """ - if in_dynamic_or_pir_mode(): + if in_dynamic_mode(): if return_eids: if sorted_eids is None: raise ValueError( diff --git a/python/paddle/vision/ops.py b/python/paddle/vision/ops.py index 9d5abd65bfd1fc..aee2bed1abcce4 100755 --- a/python/paddle/vision/ops.py +++ b/python/paddle/vision/ops.py @@ -21,7 +21,12 @@ from ..base import core from ..base.data_feeder import check_type, check_variable_and_dtype -from ..base.framework import Variable, in_dygraph_mode, in_dynamic_or_pir_mode +from ..base.framework import ( + Variable, + in_dygraph_mode, + in_dynamic_or_pir_mode, + in_pir_mode, +) from ..base.layer_helper import LayerHelper from ..framework import _current_expected_place from ..nn import BatchNorm2D, Conv2D, Layer, ReLU, Sequential @@ -2122,7 +2127,7 @@ def generate_proposals( [1, 1]) """ - if in_dynamic_or_pir_mode(): + if in_dygraph_mode(): assert ( return_rois_num ), "return_rois_num should be True in dygraph mode." @@ -2138,6 +2143,25 @@ def generate_proposals( scores, bbox_deltas, img_size, anchors, variances, *attrs ) + return rpn_rois, rpn_roi_probs, rpn_rois_num + elif in_pir_mode(): + assert ( + return_rois_num + ), "return_rois_num should be True in PaddlePaddle inner op mode." + attrs = { + 'pre_nms_topN': pre_nms_top_n, + 'post_nms_topN': post_nms_top_n, + 'nms_thresh': nms_thresh, + 'min_size': min_size, + 'eta': eta, + 'pixel_offset': pixel_offset, + } + rpn_rois, rpn_roi_probs, rpn_rois_num = _C_ops.generate_proposals( + scores, bbox_deltas, img_size, anchors, variances, **attrs + ) + rpn_rois.stop_gradient = True + rpn_roi_probs.stop_gradient = True + rpn_rois_num.stop_gradient = True return rpn_rois, rpn_roi_probs, rpn_rois_num else: helper = LayerHelper('generate_proposals_v2', **locals()) diff --git a/test/legacy_test/test_generate_proposals_op.py b/test/legacy_test/test_generate_proposals_op.py index 2612782f75f5f7..901d009effc5bc 100644 --- a/test/legacy_test/test_generate_proposals_op.py +++ b/test/legacy_test/test_generate_proposals_op.py @@ -350,7 +350,7 @@ def set_data(self): def test_check_output(self): # NODE(yjjiang11): This op will be deprecated. - self.check_output(check_dygraph=False, check_pir=True) + self.check_output(check_dygraph=False) def setUp(self): self.op_type = "generate_proposals" diff --git a/test/legacy_test/test_graph_reindex.py b/test/legacy_test/test_graph_reindex.py index 13ec55660a9e16..c3fd13f849edcb 100644 --- a/test/legacy_test/test_graph_reindex.py +++ b/test/legacy_test/test_graph_reindex.py @@ -371,7 +371,6 @@ def test_heter_reindex_result_v3(self): np.testing.assert_allclose(reindex_dst, reindex_dst_, rtol=1e-05) np.testing.assert_allclose(out_nodes, out_nodes_, rtol=1e-05) - @test_with_pir_api def test_reindex_result_static(self): paddle.enable_static() with paddle.static.program_guard(paddle.static.Program()): @@ -451,7 +450,6 @@ def test_reindex_result_static(self): ) np.testing.assert_allclose(self.out_nodes, out_nodes_2, rtol=1e-05) - @test_with_pir_api def test_heter_reindex_result_static(self): paddle.enable_static() np_x = np.arange(5).astype("int64") From d17add97a2026f465855a60a5268ecea1585d598 Mon Sep 17 00:00:00 2001 From: longranger2 <836253168@qq.com> Date: Thu, 14 Dec 2023 00:15:00 +0800 Subject: [PATCH 5/7] fix bug --- test/legacy_test/test_graph_khop_sampler.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/test/legacy_test/test_graph_khop_sampler.py b/test/legacy_test/test_graph_khop_sampler.py index 9b0a8eda8951ec..cee848d549e722 100644 --- a/test/legacy_test/test_graph_khop_sampler.py +++ b/test/legacy_test/test_graph_khop_sampler.py @@ -18,7 +18,6 @@ import paddle from paddle import base -from paddle.pir_utils import test_with_pir_api class TestGraphKhopSampler(unittest.TestCase): @@ -147,7 +146,6 @@ def test_uva_sample_result(self): in_neighbors = np.isin(edge_src_n.numpy(), self.dst_src_dict[n]) self.assertTrue(np.sum(in_neighbors) == in_neighbors.shape[0]) - @test_with_pir_api def test_sample_result_static_with_eids(self): paddle.enable_static() with paddle.static.program_guard(paddle.static.Program()): @@ -209,7 +207,6 @@ def test_sample_result_static_with_eids(self): in_neighbors = np.isin(edge_src_n, self.dst_src_dict[n]) self.assertTrue(np.sum(in_neighbors) == in_neighbors.shape[0]) - @test_with_pir_api def test_sample_result_static_without_eids(self): paddle.enable_static() with paddle.static.program_guard(paddle.static.Program()): From 41c6031d7b5a261b918cd9daf13d6428d00b7a5c Mon Sep 17 00:00:00 2001 From: longranger2 <836253168@qq.com> Date: Wed, 27 Dec 2023 16:14:22 +0800 Subject: [PATCH 6/7] fix bug --- python/paddle/vision/ops.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/python/paddle/vision/ops.py b/python/paddle/vision/ops.py index dcfedd49566052..4803c15da7911b 100755 --- a/python/paddle/vision/ops.py +++ b/python/paddle/vision/ops.py @@ -26,7 +26,7 @@ convert_np_dtype_to_dtype_, in_dygraph_mode, in_dynamic_or_pir_mode, - in_pir_mode + in_pir_mode, ) from ..base.layer_helper import LayerHelper from ..framework import _current_expected_place @@ -2150,16 +2150,18 @@ def generate_proposals( assert ( return_rois_num ), "return_rois_num should be True in PaddlePaddle inner op mode." - attrs = { - 'pre_nms_topN': pre_nms_top_n, - 'post_nms_topN': post_nms_top_n, - 'nms_thresh': nms_thresh, - 'min_size': min_size, - 'eta': eta, - 'pixel_offset': pixel_offset, - } rpn_rois, rpn_roi_probs, rpn_rois_num = _C_ops.generate_proposals( - scores, bbox_deltas, img_size, anchors, variances, **attrs + scores, + bbox_deltas, + img_size, + anchors, + variances, + pre_nms_top_n, + post_nms_top_n, + nms_thresh, + min_size, + eta, + pixel_offset, ) rpn_rois.stop_gradient = True rpn_roi_probs.stop_gradient = True From 8c67fb78bbad92efe78870fed32cdb193dd9504c Mon Sep 17 00:00:00 2001 From: longranger2 <836253168@qq.com> Date: Thu, 28 Dec 2023 23:52:31 +0800 Subject: [PATCH 7/7] fix bug --- test/legacy_test/test_generate_proposals_v2_op.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/legacy_test/test_generate_proposals_v2_op.py b/test/legacy_test/test_generate_proposals_v2_op.py index 40e1a2bdb48ff8..87e9e6c60fe7d6 100644 --- a/test/legacy_test/test_generate_proposals_v2_op.py +++ b/test/legacy_test/test_generate_proposals_v2_op.py @@ -54,7 +54,7 @@ def python_generate_proposals_v2( pixel_offset=pixel_offset, return_rois_num=return_rois_num, ) - return rpn_rois, rpn_roi_probs + return rpn_rois, rpn_roi_probs, rpn_rois_num def generate_proposals_v2_in_python( @@ -228,7 +228,6 @@ def test_check_output(self): def setUp(self): self.op_type = "generate_proposals_v2" self.python_api = python_generate_proposals_v2 - self.python_out_sig = ['Out'] self.set_data() def init_test_params(self):