From 3979f53aa42113ec583265ed35e6b6253f9bcf9e Mon Sep 17 00:00:00 2001 From: Xiaoyu <85524621+xiaoyu-work@users.noreply.github.com> Date: Mon, 1 Apr 2024 21:37:56 -0700 Subject: [PATCH] Update api backward compatibility (#20136) ### Description Update api backward compatibility ### Motivation and Context Update api backward compatibility --- .../python/tools/quantization/shape_inference.py | 12 ++++++++++-- onnxruntime/python/tools/transformers/optimizer.py | 7 ++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/onnxruntime/python/tools/quantization/shape_inference.py b/onnxruntime/python/tools/quantization/shape_inference.py index 7368304837..c07007f9d6 100644 --- a/onnxruntime/python/tools/quantization/shape_inference.py +++ b/onnxruntime/python/tools/quantization/shape_inference.py @@ -23,8 +23,8 @@ logger = logging.getLogger(__name__) def quant_pre_process( - input_model: Union[str, Path, onnx.ModelProto], - output_model_path: Union[str, Path], + input_model: Optional[Union[str, Path, onnx.ModelProto]] = None, + output_model_path: Optional[Union[str, Path]] = None, skip_optimization: bool = False, skip_onnx_shape: bool = False, skip_symbolic_shape: bool = False, @@ -36,6 +36,7 @@ def quant_pre_process( all_tensors_to_one_file: bool = False, external_data_location: Optional[str] = None, external_data_size_threshold: int = 1024, + **deprecated_kwargs, ) -> None: """Shape inference and model optimization, in preparation for quantization. @@ -63,6 +64,13 @@ def quant_pre_process( external_data_location: The file location to save the external file external_data_size_threshold: The size threshold for external data """ + + if input_model is None: + input_model = deprecated_kwargs.pop("input_model_path", None) + assert input_model is not None + + assert output_model_path is not None, "output_model_path is required." + with tempfile.TemporaryDirectory(prefix="pre.quant.") as quant_tmp_dir: temp_path = Path(quant_tmp_dir) model = None diff --git a/onnxruntime/python/tools/transformers/optimizer.py b/onnxruntime/python/tools/transformers/optimizer.py index e334e22d92..5f161674b6 100644 --- a/onnxruntime/python/tools/transformers/optimizer.py +++ b/onnxruntime/python/tools/transformers/optimizer.py @@ -68,7 +68,7 @@ MODEL_TYPES = { def optimize_by_onnxruntime( - onnx_model: Union[str, ModelProto], + onnx_model: Optional[Union[str, ModelProto]] = None, use_gpu: bool = False, optimized_model_path: Optional[str] = None, opt_level: Optional[int] = 99, @@ -79,6 +79,7 @@ def optimize_by_onnxruntime( external_data_file_threshold: int = 1024, *, provider: Optional[str] = None, + **deprecated_kwargs, ) -> str: """ Use onnxruntime to optimize model. @@ -99,6 +100,10 @@ def optimize_by_onnxruntime( assert opt_level in [1, 2, 99] from torch import version as torch_version + if onnx_model is None: + onnx_model = deprecated_kwargs.pop("onnx_model_path", None) + assert onnx_model is not None + if ( use_gpu and provider is None