@@ -30,7 +30,7 @@ def is_program_valid(self, program_config: ProgramConfig) -> bool:
30
30
def sample_program_configs (self ):
31
31
def generate_input1 ():
32
32
if self .dims == 4 :
33
- return np .random .random ([1 , 3 , 3 , 4000 ]).astype (np .float32 )
33
+ return np .random .random ([1 , 3 , 3 , 3840 ]).astype (np .float32 )
34
34
elif self .dims == 3 :
35
35
return np .random .random ([1 , 3 , 24 ]).astype (np .int32 )
36
36
elif self .dims == 2 :
@@ -69,50 +69,52 @@ def generate_input1():
69
69
)
70
70
yield program_config
71
71
72
+ def generate_dynamic_shape (self ):
73
+ if self .dims == 4 :
74
+ self .dynamic_shape .min_input_shape = {
75
+ "input_data" : [1 , 3 , 3 , 3840 ],
76
+ }
77
+ self .dynamic_shape .max_input_shape = {
78
+ "input_data" : [9 , 3 , 3 , 3840 ],
79
+ }
80
+ self .dynamic_shape .opt_input_shape = {
81
+ "input_data" : [6 , 3 , 3 , 3840 ],
82
+ }
83
+ elif self .dims == 3 :
84
+ self .dynamic_shape .min_input_shape = {
85
+ "input_data" : [1 , 3 , 24 ],
86
+ }
87
+ self .dynamic_shape .max_input_shape = {
88
+ "input_data" : [9 , 3 , 24 ],
89
+ }
90
+ self .dynamic_shape .opt_input_shape = {
91
+ "input_data" : [6 , 3 , 24 ],
92
+ }
93
+ elif self .dims == 2 :
94
+ self .dynamic_shape .min_input_shape = {
95
+ "input_data" : [1 , 24 ],
96
+ }
97
+ self .dynamic_shape .max_input_shape = {
98
+ "input_data" : [9 , 24 ],
99
+ }
100
+ self .dynamic_shape .opt_input_shape = {
101
+ "input_data" : [6 , 24 ],
102
+ }
103
+ else :
104
+ self .dynamic_shape .min_input_shape = {
105
+ "input_data" : [24 ],
106
+ }
107
+ self .dynamic_shape .max_input_shape = {
108
+ "input_data" : [24 ],
109
+ }
110
+ self .dynamic_shape .opt_input_shape = {
111
+ "input_data" : [24 ],
112
+ }
113
+ return self .dynamic_shape
114
+
72
115
def sample_predictor_configs (
73
- self , program_config
116
+ self , program_config , run_pir = False
74
117
) -> tuple [paddle_infer .Config , list [int ], float ]:
75
- def generate_dynamic_shape (attrs ):
76
- if self .dims == 4 :
77
- self .dynamic_shape .min_input_shape = {
78
- "input_data" : [1 , 3 , 3 , 4000 ],
79
- }
80
- self .dynamic_shape .max_input_shape = {
81
- "input_data" : [9 , 3 , 3 , 4000 ],
82
- }
83
- self .dynamic_shape .opt_input_shape = {
84
- "input_data" : [6 , 3 , 3 , 4000 ],
85
- }
86
- elif self .dims == 3 :
87
- self .dynamic_shape .min_input_shape = {
88
- "input_data" : [1 , 3 , 24 ],
89
- }
90
- self .dynamic_shape .max_input_shape = {
91
- "input_data" : [9 , 3 , 24 ],
92
- }
93
- self .dynamic_shape .opt_input_shape = {
94
- "input_data" : [6 , 3 , 24 ],
95
- }
96
- elif self .dims == 2 :
97
- self .dynamic_shape .min_input_shape = {
98
- "input_data" : [1 , 24 ],
99
- }
100
- self .dynamic_shape .max_input_shape = {
101
- "input_data" : [9 , 24 ],
102
- }
103
- self .dynamic_shape .opt_input_shape = {
104
- "input_data" : [6 , 24 ],
105
- }
106
- else :
107
- self .dynamic_shape .min_input_shape = {
108
- "input_data" : [24 ],
109
- }
110
- self .dynamic_shape .max_input_shape = {
111
- "input_data" : [25 ],
112
- }
113
- self .dynamic_shape .opt_input_shape = {
114
- "input_data" : [24 ],
115
- }
116
118
117
119
def clear_dynamic_shape ():
118
120
self .dynamic_shape .max_input_shape = {}
@@ -124,14 +126,14 @@ def clear_dynamic_shape():
124
126
]
125
127
self .trt_param .workspace_size = 1073741824
126
128
# for dynamic_shape
127
- generate_dynamic_shape (attrs )
129
+ self . generate_dynamic_shape ()
128
130
self .trt_param .precision = paddle_infer .PrecisionType .Float32
129
131
yield self .create_inference_config (), (1 , 3 ), 1e-5
130
132
self .trt_param .precision = paddle_infer .PrecisionType .Half
131
133
yield self .create_inference_config (), (1 , 3 ), 1e-3
132
134
133
135
def test (self ):
134
- self .run_test ()
136
+ self .run_test (run_pir = True )
135
137
136
138
137
139
if __name__ == "__main__" :
0 commit comments