onnxruntime/tools/python/util
Edward Chen 9f942e1a3e
Graph transformer to ensure unique DQ nodes for QDQ node units (#15145)
### Description
<!-- Describe your changes. -->

Add required graph transformer to duplicate DQ nodes to ensure that QDQ
node units have unique DQ nodes. This condition is necessary for QDQ
node unit processing.

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->

There is an existing Python utility that does this: 

c7ced7a5e9/tools/python/util/qdq_helpers/qdq_model_utils.py (L77)

This PR implements it as a graph transformer so it is integrated into
ORT and does not require a separate step to update the model. There are
also tests to ensure that its effects are not undone by basic level
graph optimizations.
2023-03-31 08:39:43 +10:00
..
android
mobile_helpers
ort_format_model
qdq_helpers
test
__init__.py
__init__append.py
check_onnx_model_mobile_usability.py
convert_onnx_models_to_ort.py
file_utils.py
get_azcopy.py
logger.py
make_dynamic_shape_fixed.py
onnx_model_utils.py
optimize_onnx_model.py
platform_helpers.py
pytorch_export_helpers.py
reduced_build_config_parser.py
run.py
update_onnx_opset.py