3636 np_to_torch_dtype ,
3737 np_to_trt_dtype ,
3838 openvino_save_model ,
39+ trt_set_dynamic_range ,
3940)
4041
4142FLAGS = None
@@ -101,15 +102,26 @@ def create_plan_shape_tensor_modelfile(
101102 resized_out0 = resize_layer .get_output (0 )
102103
103104 shape_out0 .get_output (0 ).name = "SHAPE_OUTPUT"
104- shape_out0 .get_output (0 ).dtype = trt .int64
105+ # ITensor.dtype setter removed in TRT 11; shape/elementwise/resize
106+ # outputs already have the correct dtype.
107+ try :
108+ shape_out0 .get_output (0 ).dtype = trt .int64
109+ except AttributeError :
110+ pass # ITensor.dtype setter removed in TensorRT 11+
105111 network .mark_output_for_shapes (shape_out0 .get_output (0 ))
106112
107113 out0 .name = "OUTPUT"
108- out0 .dtype = trt .int32
114+ try :
115+ out0 .dtype = trt .int32
116+ except AttributeError :
117+ pass # ITensor.dtype setter removed in TensorRT 11+
109118 network .mark_output (out0 )
110119
111120 resized_out0 .name = "RESIZED_OUTPUT"
112- resized_out0 .dtype = trt_dtype
121+ try :
122+ resized_out0 .dtype = trt_dtype
123+ except AttributeError :
124+ pass # ITensor.dtype setter removed in TensorRT 11+
113125 network .mark_output (resized_out0 )
114126
115127 shape_in0 .allowed_formats = 1 << int (trt_memory_format )
@@ -121,20 +133,22 @@ def create_plan_shape_tensor_modelfile(
121133 resized_out0 .allowed_formats = 1 << int (trt_memory_format )
122134
123135 if trt_dtype == trt .int8 :
124- dummy_in0 .dynamic_range = (- 128.0 , 127.0 )
125- resized_out0 .dynamic_range = (- 128.0 , 127.0 )
126- start0 .dynamic_range = (- 128.0 , 127.0 )
127- end0 .dynamic_range = (- 128.0 , 127.0 )
128- ready0 .dynamic_range = (- 128.0 , 127.0 )
129-
136+ trt_set_dynamic_range (dummy_in0 , - 128.0 , 127.0 )
137+ trt_set_dynamic_range (resized_out0 , - 128.0 , 127.0 )
138+ trt_set_dynamic_range (start0 , - 128.0 , 127.0 )
139+ trt_set_dynamic_range (end0 , - 128.0 , 127.0 )
140+ trt_set_dynamic_range (ready0 , - 128.0 , 127.0 )
130141 flags = 1 << int (trt .BuilderFlag .DIRECT_IO )
131- flags |= 1 << int (trt .BuilderFlag .PREFER_PRECISION_CONSTRAINTS )
142+ # TensorRT 11 removed PREFER_PRECISION_CONSTRAINTS / INT8 / FP16
143+ # BuilderFlags (strongly-typed networks). Older TRT still has them.
144+ if hasattr (trt .BuilderFlag , "PREFER_PRECISION_CONSTRAINTS" ):
145+ flags |= 1 << int (trt .BuilderFlag .PREFER_PRECISION_CONSTRAINTS )
132146 if hasattr (trt .BuilderFlag , "REJECT_EMPTY_ALGORITHMS" ):
133147 flags |= 1 << int (trt .BuilderFlag .REJECT_EMPTY_ALGORITHMS )
134148
135- if trt_dtype == trt .int8 :
149+ if trt_dtype == trt .int8 and hasattr ( trt . BuilderFlag , "INT8" ) :
136150 flags |= 1 << int (trt .BuilderFlag .INT8 )
137- elif trt_dtype == trt .float16 :
151+ elif trt_dtype == trt .float16 and hasattr ( trt . BuilderFlag , "FP16" ) :
138152 flags |= 1 << int (trt .BuilderFlag .FP16 )
139153
140154 min_prefix = []
@@ -353,29 +367,36 @@ def create_plan_rf_modelfile(models_dir, model_version, max_batch, dtype, shape)
353367 out0 .get_output (0 ).name = "OUTPUT"
354368 network .mark_output (out0 .get_output (0 ))
355369
356- out0 .get_output (0 ).dtype = trt_dtype
370+ # ITensor.dtype setter removed in TRT 11; elementwise output already has
371+ # trt_dtype.
372+ try :
373+ out0 .get_output (0 ).dtype = trt_dtype
374+ except AttributeError :
375+ pass # ITensor.dtype setter removed in TensorRT 11+
357376
358377 in0 .allowed_formats = 1 << int (trt_memory_format )
359378 start0 .allowed_formats = 1 << int (trt_memory_format )
360379 ready0 .allowed_formats = 1 << int (trt_memory_format )
361380 out0 .get_output (0 ).allowed_formats = 1 << int (trt_memory_format )
362381
363382 if trt_dtype == trt .int8 :
364- in0 .dynamic_range = (- 128.0 , 127.0 )
365- out0 .dynamic_range = (- 128.0 , 127.0 )
366- start0 .dynamic_range = (- 128.0 , 127.0 )
367- end0 .dynamic_range = (- 128.0 , 127.0 )
368- ready0 .dynamic_range = (- 128.0 , 127.0 )
369- corrid0 .dynamic_range = (- 128.0 , 127.0 )
370-
383+ trt_set_dynamic_range (in0 , - 128.0 , 127.0 )
384+ trt_set_dynamic_range (out0 , - 128.0 , 127.0 )
385+ trt_set_dynamic_range (start0 , - 128.0 , 127.0 )
386+ trt_set_dynamic_range (end0 , - 128.0 , 127.0 )
387+ trt_set_dynamic_range (ready0 , - 128.0 , 127.0 )
388+ trt_set_dynamic_range (corrid0 , - 128.0 , 127.0 )
371389 flags = 1 << int (trt .BuilderFlag .DIRECT_IO )
372- flags |= 1 << int (trt .BuilderFlag .PREFER_PRECISION_CONSTRAINTS )
390+ # TensorRT 11 removed PREFER_PRECISION_CONSTRAINTS / INT8 / FP16
391+ # BuilderFlags (strongly-typed networks). Older TRT still has them.
392+ if hasattr (trt .BuilderFlag , "PREFER_PRECISION_CONSTRAINTS" ):
393+ flags |= 1 << int (trt .BuilderFlag .PREFER_PRECISION_CONSTRAINTS )
373394 if hasattr (trt .BuilderFlag , "REJECT_EMPTY_ALGORITHMS" ):
374395 flags |= 1 << int (trt .BuilderFlag .REJECT_EMPTY_ALGORITHMS )
375396
376- if trt_dtype == trt .int8 :
397+ if trt_dtype == trt .int8 and hasattr ( trt . BuilderFlag , "INT8" ) :
377398 flags |= 1 << int (trt .BuilderFlag .INT8 )
378- elif trt_dtype == trt .float16 :
399+ elif trt_dtype == trt .float16 and hasattr ( trt . BuilderFlag , "FP16" ) :
379400 flags |= 1 << int (trt .BuilderFlag .FP16 )
380401
381402 min_shape = []
0 commit comments