Skip to content

【Paddle Tensor】Fix bugs related to converting unit tests about collect shape #71305

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 20 commits into from
Mar 18, 2025
5 changes: 5 additions & 0 deletions test/ir/inference/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,11 @@ if(WITH_GPU AND TENSORRT_FOUND)
set_tests_properties(test_trt_convert_unary PROPERTIES TIMEOUT 600)
set_tests_properties(test_trt_convert_pool2d PROPERTIES TIMEOUT 600)
set_tests_properties(test_trt_convert_slice PROPERTIES TIMEOUT 600)
set_tests_properties(test_trt_convert_scale PROPERTIES TIMEOUT 600)
set_tests_properties(test_trt_convert_elementwise PROPERTIES TIMEOUT 600)
set_tests_properties(test_trt_convert_reduce PROPERTIES TIMEOUT 600)
set_tests_properties(test_trt_convert_compare_and_logical PROPERTIES TIMEOUT
600)

if(NOT WIN32)

Expand Down
92 changes: 47 additions & 45 deletions test/ir/inference/test_trt_convert_argsort.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def is_program_valid(self, program_config: ProgramConfig) -> bool:
def sample_program_configs(self):
def generate_input1():
if self.dims == 4:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

最后一个维度如果超过了3840就不能进入marker

return np.random.random([1, 3, 3, 4000]).astype(np.float32)
return np.random.random([1, 3, 3, 3840]).astype(np.float32)
elif self.dims == 3:
return np.random.random([1, 3, 24]).astype(np.int32)
elif self.dims == 2:
Expand Down Expand Up @@ -69,50 +69,52 @@ def generate_input1():
)
yield program_config

def generate_dynamic_shape(self):
if self.dims == 4:
self.dynamic_shape.min_input_shape = {
"input_data": [1, 3, 3, 3840],
}
self.dynamic_shape.max_input_shape = {
"input_data": [9, 3, 3, 3840],
}
self.dynamic_shape.opt_input_shape = {
"input_data": [6, 3, 3, 3840],
}
elif self.dims == 3:
self.dynamic_shape.min_input_shape = {
"input_data": [1, 3, 24],
}
self.dynamic_shape.max_input_shape = {
"input_data": [9, 3, 24],
}
self.dynamic_shape.opt_input_shape = {
"input_data": [6, 3, 24],
}
elif self.dims == 2:
self.dynamic_shape.min_input_shape = {
"input_data": [1, 24],
}
self.dynamic_shape.max_input_shape = {
"input_data": [9, 24],
}
self.dynamic_shape.opt_input_shape = {
"input_data": [6, 24],
}
else:
self.dynamic_shape.min_input_shape = {
"input_data": [24],
}
self.dynamic_shape.max_input_shape = {
"input_data": [24],
}
self.dynamic_shape.opt_input_shape = {
"input_data": [24],
}
return self.dynamic_shape

def sample_predictor_configs(
self, program_config
self, program_config, run_pir=False
) -> tuple[paddle_infer.Config, list[int], float]:
def generate_dynamic_shape(attrs):
if self.dims == 4:
self.dynamic_shape.min_input_shape = {
"input_data": [1, 3, 3, 4000],
}
self.dynamic_shape.max_input_shape = {
"input_data": [9, 3, 3, 4000],
}
self.dynamic_shape.opt_input_shape = {
"input_data": [6, 3, 3, 4000],
}
elif self.dims == 3:
self.dynamic_shape.min_input_shape = {
"input_data": [1, 3, 24],
}
self.dynamic_shape.max_input_shape = {
"input_data": [9, 3, 24],
}
self.dynamic_shape.opt_input_shape = {
"input_data": [6, 3, 24],
}
elif self.dims == 2:
self.dynamic_shape.min_input_shape = {
"input_data": [1, 24],
}
self.dynamic_shape.max_input_shape = {
"input_data": [9, 24],
}
self.dynamic_shape.opt_input_shape = {
"input_data": [6, 24],
}
else:
self.dynamic_shape.min_input_shape = {
"input_data": [24],
}
self.dynamic_shape.max_input_shape = {
"input_data": [25],
}
self.dynamic_shape.opt_input_shape = {
"input_data": [24],
}

def clear_dynamic_shape():
self.dynamic_shape.max_input_shape = {}
Expand All @@ -124,14 +126,14 @@ def clear_dynamic_shape():
]
self.trt_param.workspace_size = 1073741824
# for dynamic_shape
generate_dynamic_shape(attrs)
self.generate_dynamic_shape()
self.trt_param.precision = paddle_infer.PrecisionType.Float32
yield self.create_inference_config(), (1, 3), 1e-5
self.trt_param.precision = paddle_infer.PrecisionType.Half
yield self.create_inference_config(), (1, 3), 1e-3

def test(self):
self.run_test()
self.run_test(run_pir=True)


if __name__ == "__main__":
Expand Down
Loading