@@ -163,7 +163,8 @@ def load_model( # noqa: C901
163163 providers : Sequence [str | tuple [str , dict [Any , Any ]]] | None = None ,
164164 provider_options : Sequence [dict [Any , Any ]] | None = None ,
165165 cpu_preprocessing : bool = True ,
166- max_preprocessing_threads : int | None = 1 ,
166+ preprocessor_config : PreprocessorRuntimeConfig | None = None ,
167+ resampler_config : OnnxSessionOptions | None = None ,
167168) -> TextResultsAsrAdapter :
168169 """Load ASR model.
169170
@@ -187,7 +188,8 @@ def load_model( # noqa: C901
187188 providers: Optional providers for onnxruntime.
188189 provider_options: Optional provider_options for onnxruntime.
189190 cpu_preprocessing: Run preprocessors on CPU.
190- max_preprocessing_threads: Max parallel preprocessing threads (None - auto, 1 - without parallel processing).
191+ preprocessor_config: Preprocessor ONNX and concurrency config.
192+ resampler_config: Resampler ONNX config.
191193
192194 Returns:
193195 ASR model class.
@@ -281,24 +283,25 @@ def load_model( # noqa: C901
281283 case _:
282284 raise ModelNotSupportedError (model )
283285
284- onnx_options : OnnxSessionOptions = {
286+ onnx_options : PreprocessorRuntimeConfig = {
285287 "sess_options" : sess_options ,
286288 "providers" : providers or rt .get_available_providers (),
287289 "provider_options" : provider_options ,
288290 }
289291
290- preprocessing_onnx_options : OnnxSessionOptions = {"sess_options" : sess_options } if cpu_preprocessing else onnx_options
291- if max_preprocessing_threads != 1 :
292- preprocessing_sess_options = preprocessing_onnx_options ["sess_options" ] or rt .SessionOptions ()
293- preprocessing_sess_options .intra_op_num_threads = 1
294- preprocessing_onnx_options ["sess_options" ] = preprocessing_sess_options
292+ if resampler_config is None :
293+ resampler_config = {"sess_options" : sess_options } if cpu_preprocessing else onnx_options
294+
295+ if preprocessor_config is None :
296+ preprocessor_config = {"sess_options" : sess_options } if cpu_preprocessing else onnx_options
297+ preprocessor_config |= {"max_concurrent_workers" : 1 }
295298
296299 return TextResultsAsrAdapter (
297300 model_type (
298301 _find_files (path , repo_id , model_type ._get_model_files (quantization )),
299- AsrRuntimeConfig (onnx_options , PreprocessorRuntimeConfig ( preprocessing_onnx_options , max_preprocessing_threads ) ),
302+ AsrRuntimeConfig (onnx_options , preprocessor_config ),
300303 ),
301- Resampler (model_type ._get_sample_rate (), preprocessing_onnx_options ),
304+ Resampler (model_type ._get_sample_rate (), resampler_config ),
302305 )
303306
304307
0 commit comments