@@ -99,95 +99,95 @@ def fc_pass_subgraph(input, w, bias):
9999MODLE_FILE = "./saved_model"
100100MODLE_FILE2 = "./silu_fuse_model"
101101
102-
103- class TestCustomPassSilu (unittest .TestCase ):
104- def setUp (self ):
105- paddle .jit .save (func_silu , MODLE_FILE2 )
106-
107- def test_silu_fuse (self ):
108- with paddle .pir_utils .OldIrGuard ():
109- paddle .disable_static ()
110- config = paddle .inference .Config ()
111- config .set_prog_file (MODLE_FILE2 + ".pdmodel" )
112- config .enable_memory_optim ()
113- config .enable_custom_device ("sdaa" )
114- config .switch_ir_optim (True )
115- pass_builder = config .pass_builder ()
116- pass_builder .append_pass ("custom_silu_fuse_pass" )
117- print (pass_builder .all_passes ())
118- print ("IR Optim is: {}" .format (config .ir_optim ()))
119- predictor = paddle .inference .create_predictor (config )
120-
121- np_inputs = [np .random .randn (2 , 32 ).astype ("float32" )]
122- input_names = predictor .get_input_names ()
123- for i , name in enumerate (input_names ):
124- input_tensor = predictor .get_input_handle (name )
125- input_tensor .copy_from_cpu (np_inputs [i ])
126-
127- predictor .run ()
128- results = []
129- output_names = predictor .get_output_names ()
130- for i , name in enumerate (output_names ):
131- output_tensor = predictor .get_output_handle (name )
132- output_data = output_tensor .copy_to_cpu ()
133- results .append (output_data )
134- np .testing .assert_allclose (
135- results ,
136- paddle .nn .functional .silu (paddle .to_tensor (np_inputs )).numpy (),
137- rtol = 1e-5 ,
138- )
139- paddle .enable_static ()
140-
141-
142- class TestCustomFcPass (unittest .TestCase ):
143- def setUp (self ):
144- self .model_name = "fc"
145- paddle .jit .save (fc_pass_subgraph , self .model_name )
146-
147- self .batch_size = 64
148-
149- def test_custom_fc_n (self ):
150- with paddle .pir_utils .OldIrGuard ():
151- config = paddle .inference .Config ()
152- config .set_prog_file (self .model_name + ".pdmodel" )
153- config .enable_memory_optim ()
154- config .enable_custom_device ("sdaa" )
155- pass_builder = config .pass_builder ()
156- pass_builder .append_pass ("custom_fc" )
157- predictor = paddle .inference .create_predictor (config )
158-
159- np_inputs = [
160- np .random .randn (self .batch_size , 200 ).astype ("float32" ),
161- np .random .randn (200 , 2 ).astype ("float32" ),
162- np .random .randn (2 ).astype ("float32" ),
163- ]
164- input_names = predictor .get_input_names ()
165- for i , name in enumerate (input_names ):
166- input_tensor = predictor .get_input_handle (name )
167- input_tensor .copy_from_cpu (np_inputs [i ])
168-
169- predictor .run ()
170- results = []
171- output_names = predictor .get_output_names ()
172- for i , name in enumerate (output_names ):
173- output_tensor = predictor .get_output_handle (name )
174- output_data = output_tensor .copy_to_cpu ()
175- results .append (output_data )
176-
177- with paddle .base .dygraph .guard (paddle .CPUPlace ()):
178- cpu_output = paddle ._legacy_C_ops .fc (
179- paddle .to_tensor (np_inputs [0 ]),
180- paddle .to_tensor (np_inputs [1 ]),
181- paddle .to_tensor (np_inputs [2 ]),
182- "activation_type" ,
183- "" ,
184- "in_num_col_dims" ,
185- 1 ,
186- )
187-
188- np .testing .assert_allclose (
189- results [0 ], cpu_output .numpy (), rtol = 1e-4 , atol = 1e-2
190- )
102+ # This case is deleted because paddle no longer support old IR in recent update.
103+ # class TestCustomPassSilu(unittest.TestCase):
104+ # def setUp(self):
105+ # paddle.jit.save(func_silu, MODLE_FILE2)
106+
107+ # def test_silu_fuse(self):
108+ # with paddle.pir_utils.OldIrGuard():
109+ # paddle.disable_static()
110+ # config = paddle.inference.Config()
111+ # config.set_prog_file(MODLE_FILE2 + ".pdmodel")
112+ # config.enable_memory_optim()
113+ # config.enable_custom_device("sdaa")
114+ # config.switch_ir_optim(True)
115+ # pass_builder = config.pass_builder()
116+ # pass_builder.append_pass("custom_silu_fuse_pass")
117+ # print(pass_builder.all_passes())
118+ # print("IR Optim is: {}".format(config.ir_optim()))
119+ # predictor = paddle.inference.create_predictor(config)
120+
121+ # np_inputs = [np.random.randn(2, 32).astype("float32")]
122+ # input_names = predictor.get_input_names()
123+ # for i, name in enumerate(input_names):
124+ # input_tensor = predictor.get_input_handle(name)
125+ # input_tensor.copy_from_cpu(np_inputs[i])
126+
127+ # predictor.run()
128+ # results = []
129+ # output_names = predictor.get_output_names()
130+ # for i, name in enumerate(output_names):
131+ # output_tensor = predictor.get_output_handle(name)
132+ # output_data = output_tensor.copy_to_cpu()
133+ # results.append(output_data)
134+ # np.testing.assert_allclose(
135+ # results,
136+ # paddle.nn.functional.silu(paddle.to_tensor(np_inputs)).numpy(),
137+ # rtol=1e-5,
138+ # )
139+ # paddle.enable_static()
140+
141+ # This case is deleted because paddle no longer support old IR in recent update.
142+ # class TestCustomFcPass(unittest.TestCase):
143+ # def setUp(self):
144+ # self.model_name = "fc"
145+ # paddle.jit.save(fc_pass_subgraph, self.model_name)
146+
147+ # self.batch_size = 64
148+
149+ # def test_custom_fc_n(self):
150+ # with paddle.pir_utils.OldIrGuard():
151+ # config = paddle.inference.Config()
152+ # config.set_prog_file(self.model_name + ".pdmodel")
153+ # config.enable_memory_optim()
154+ # config.enable_custom_device("sdaa")
155+ # pass_builder = config.pass_builder()
156+ # pass_builder.append_pass("custom_fc")
157+ # predictor = paddle.inference.create_predictor(config)
158+
159+ # np_inputs = [
160+ # np.random.randn(self.batch_size, 200).astype("float32"),
161+ # np.random.randn(200, 2).astype("float32"),
162+ # np.random.randn(2).astype("float32"),
163+ # ]
164+ # input_names = predictor.get_input_names()
165+ # for i, name in enumerate(input_names):
166+ # input_tensor = predictor.get_input_handle(name)
167+ # input_tensor.copy_from_cpu(np_inputs[i])
168+
169+ # predictor.run()
170+ # results = []
171+ # output_names = predictor.get_output_names()
172+ # for i, name in enumerate(output_names):
173+ # output_tensor = predictor.get_output_handle(name)
174+ # output_data = output_tensor.copy_to_cpu()
175+ # results.append(output_data)
176+
177+ # with paddle.base.dygraph.guard(paddle.CPUPlace()):
178+ # cpu_output = paddle._legacy_C_ops.fc(
179+ # paddle.to_tensor(np_inputs[0]),
180+ # paddle.to_tensor(np_inputs[1]),
181+ # paddle.to_tensor(np_inputs[2]),
182+ # "activation_type",
183+ # "",
184+ # "in_num_col_dims",
185+ # 1,
186+ # )
187+
188+ # np.testing.assert_allclose(
189+ # results[0], cpu_output.numpy(), rtol=1e-4, atol=1e-2
190+ # )
191191
192192
193193class TestCustomConvBnFusedPass (unittest .TestCase ):
0 commit comments