onnxscript 0.7.2.dev20260825__tar.gz → 0.7.2.dev20260903__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {onnxscript-0.7.2.dev20260825/onnxscript.egg-info → onnxscript-0.7.2.dev20260903}/PKG-INFO +2 -2
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_framework_apis/torch_2_5.py +6 -2
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/core.py +128 -16
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_fuse_batchnorm.py +10 -2
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/version_converter/_version_converter.py +8 -5
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903/onnxscript.egg-info}/PKG-INFO +2 -2
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/LICENSE +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/MANIFEST.in +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/README.md +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/VERSION +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_framework_apis/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_framework_apis/torch_2_11.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_framework_apis/torch_2_6.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_framework_apis/torch_2_7.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_framework_apis/torch_2_8.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_framework_apis/torch_2_9.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/_inference.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/_inliner.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/analysis.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/ast_utils.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/autocast.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/builder.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/converter.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/deprecation.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/evaluator.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/irbuilder.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/main.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/param_manipulation.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/sourceinfo.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/tape_builder.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/type_annotation.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/utils.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/values.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/version_utils.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/backend/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/backend/onnx_backend.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/backend/onnx_export.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/evaluator.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/tools/torch_lib/deduce_type_constraints.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/tools/torch_lib/generate_aten_signatures.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/tools/torch_lib/generate_prims_signatures.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/_constants.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/_flags.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/graph_building/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/common.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/fft.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/linalg.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/nested.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/nn.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/prims.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/quantized_decomposed.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/sparse.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/special.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/ops/vision.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/registration.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/function_libs/torch_lib/tensor_typing.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/ir/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/ir/_schemas.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/ir/convenience.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/ir/passes/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/ir/passes/common/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/nn/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/nn/_module.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/nn/_module_list.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/nn/_parameter.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/nn/_sequential.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset1.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset10.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset11.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset12.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset13.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset14.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset15.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset16.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset17.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset18.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset19.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset2.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset20.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset21.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset22.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset23.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset24.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset25.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset26.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset27.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset3.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset4.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset5.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset6.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset7.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset8.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset9.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml1.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml2.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml3.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml4.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml5.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset_ai_onnx_preview1.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_types.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/optimizer/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/optimizer/_constant_folding.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/optimizer/_optimizer.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/py.typed +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_basics.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_context.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_fusion_utils.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_ir_utils.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_matcher.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_pattern_ir.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_rewrite_rule.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/models/_bart_encoder.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/models/_phi2lm.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/models/_phi4lm.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/models/_rotary_embedding_models.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/models/_smollm_1.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/models/_smollm_2.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/models/_test_models.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/models/_whisper_decoder.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/models/_whisper_encoder.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/onnx_fusions/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/onnx_fusions/_onnx_fusions.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/onnxruntime/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/onnxruntime/bfloat16_utils/bfloat16_converter.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/_core.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/_test_utils.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/attention.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/bias_gelu.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/cos_sin_cache.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/erfgelu.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/fused_matmul_rule_sets.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/gelu.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/gqa.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/gqa_packed_qkv.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/group_normalization_merge_silu.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/instance_to_group_normalization.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/mha.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/mha_bias.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/mha_scale.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/rms_normalization.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/rotary_embedding.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/sdpa.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/sdpa_via_mha.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/shape_optimization.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/skip_normalization.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/softmax.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/pattern.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_basic_rules.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_broadcast_to_matmul.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_cast_constant_of_shape.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_collapse_slices.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_fuse_conv_affine.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_fuse_hardswish.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_fuse_pad_into_conv.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_fuse_relus_clips.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_gemm_to_matmul_add.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_materialize_reshape_shape.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_matmul_add_to_gemm.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_min_max_to_clip.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_no_op.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_redundant_scatter_nd.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_remove_expand_before_binary_op.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/common/_remove_optional_bias.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/fusion/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/fusion/_gqa.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/fusion/_layer_norm.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/fusion/_rms_normalization.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/fusion/_rotary_embedding.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/testing.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/tensor.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/testing/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/tools/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/tools/memory_peak.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/tools/transformers_models/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/tools/transformers_models/llama.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/tools/transformers_models/mistral.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/tools/transformers_models/phi.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/tools/transformers_models/phi3.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/utils/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/utils/evaluation_utils.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/utils/metadata_merger.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/utils/replace.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/utils/timing_utils.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/utils/utils.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/values.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/version_converter/__init__.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/version_converter/_c_api_utils.py +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript.egg-info/SOURCES.txt +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript.egg-info/dependency_links.txt +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript.egg-info/requires.txt +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript.egg-info/top_level.txt +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/pyproject.toml +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/setup.cfg +0 -0
- {onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: onnxscript
|
|
3
|
-
Version: 0.7.2.
|
|
3
|
+
Version: 0.7.2.dev20260903
|
|
4
4
|
Summary: Naturally author ONNX functions and models using a subset of Python
|
|
5
5
|
Author-email: Microsoft Corporation <onnx@microsoft.com>
|
|
6
6
|
License: MIT License
|
|
@@ -27,7 +27,7 @@ License: MIT License
|
|
|
27
27
|
|
|
28
28
|
Project-URL: Homepage, https://microsoft.github.io/onnxscript/
|
|
29
29
|
Project-URL: Repository, https://github.com/microsoft/onnxscript
|
|
30
|
-
Project-URL: Commit, https://github.com/microsoft/onnxscript/tree/
|
|
30
|
+
Project-URL: Commit, https://github.com/microsoft/onnxscript/tree/b4c10fab5b65d7f15bbaadae89512ba4fba74745
|
|
31
31
|
Classifier: Development Status :: 4 - Beta
|
|
32
32
|
Classifier: Environment :: Console
|
|
33
33
|
Classifier: Intended Audience :: Developers
|
|
@@ -59,9 +59,13 @@ def convert_version(model: ir.Model, target_version: int) -> ir.Model:
|
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
def check_model(model: ir.Model) -> None:
|
|
62
|
-
"""
|
|
62
|
+
"""No-op retained for API compatibility.
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
This intentionally performs no validation. Running the ONNX checker here was
|
|
65
|
+
dropped because it can report false positives and adds overhead to export.
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
del model # Intentionally unused: this function performs no validation.
|
|
65
69
|
|
|
66
70
|
|
|
67
71
|
def save_model_with_external_data(
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
from __future__ import annotations
|
|
13
13
|
|
|
14
|
+
import functools
|
|
14
15
|
import math
|
|
15
16
|
from typing import Any, Optional, Sequence, Tuple, Union
|
|
16
17
|
|
|
@@ -58,6 +59,17 @@ _INT64_MIN = -9223372036854775808
|
|
|
58
59
|
_MATH_PI = math.pi
|
|
59
60
|
|
|
60
61
|
|
|
62
|
+
@functools.lru_cache(maxsize=None)
|
|
63
|
+
def _int64_arange_non_integral_uses_float_length() -> bool:
|
|
64
|
+
"""Whether torch computes the arange length in float when dtype is integral.
|
|
65
|
+
|
|
66
|
+
Newer versions of torch return 4 elements for ``torch.arange(3.1, dtype=torch.int64)``,
|
|
67
|
+
while older versions return 3. This is evaluated lazily to avoid running torch code
|
|
68
|
+
at import time.
|
|
69
|
+
"""
|
|
70
|
+
return torch.arange(3.1, dtype=torch.int64, device="cpu").numel() == 4
|
|
71
|
+
|
|
72
|
+
|
|
61
73
|
@torch_op("aten::_local_scalar_dense", trace_only=True)
|
|
62
74
|
def aten__local_scalar_dense(self: TensorType) -> TensorType:
|
|
63
75
|
"""_local_scalar_dense(Tensor self) -> Scalar"""
|
|
@@ -521,6 +533,56 @@ def _range_supported(dtype: int) -> bool:
|
|
|
521
533
|
}
|
|
522
534
|
|
|
523
535
|
|
|
536
|
+
def _is_integral_dtype(dtype: int) -> bool:
|
|
537
|
+
return dtype in {
|
|
538
|
+
INT8.dtype,
|
|
539
|
+
INT16.dtype,
|
|
540
|
+
INT32.dtype,
|
|
541
|
+
INT64.dtype,
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
def _is_integral_scalar(arg: TRealUnlessFloat16OrInt8) -> bool:
|
|
546
|
+
if isinstance(arg, int):
|
|
547
|
+
return True
|
|
548
|
+
if isinstance(arg, float):
|
|
549
|
+
return False
|
|
550
|
+
return arg.dtype in {
|
|
551
|
+
INT8.dtype,
|
|
552
|
+
INT16.dtype,
|
|
553
|
+
INT32.dtype,
|
|
554
|
+
INT64.dtype,
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
def _arange_integral_dtype_with_non_integral_args(
|
|
559
|
+
start: TRealUnlessFloat16OrInt8,
|
|
560
|
+
end: TRealUnlessFloat16OrInt8,
|
|
561
|
+
step: TRealUnlessFloat16OrInt8,
|
|
562
|
+
dtype: int,
|
|
563
|
+
) -> TensorType:
|
|
564
|
+
"""Implements torch.arange for integral dtypes when not all inputs are integral."""
|
|
565
|
+
start_float = op.Cast(start, to=FLOAT.dtype)
|
|
566
|
+
end_float = op.Cast(end, to=FLOAT.dtype)
|
|
567
|
+
step_float = op.Cast(step, to=FLOAT.dtype)
|
|
568
|
+
|
|
569
|
+
length = op.Cast(
|
|
570
|
+
op.Ceil(op.Div(op.Sub(end_float, start_float), step_float)), to=INT64.dtype
|
|
571
|
+
)
|
|
572
|
+
index = op.Range(op.Constant(value_int=0), length, op.Constant(value_int=1))
|
|
573
|
+
|
|
574
|
+
if _range_supported(dtype):
|
|
575
|
+
index = op.Cast(index, to=dtype)
|
|
576
|
+
start = op.Cast(start, to=dtype)
|
|
577
|
+
step = op.Cast(step, to=dtype)
|
|
578
|
+
return op.Add(start, op.Mul(step, index))
|
|
579
|
+
|
|
580
|
+
start = op.Cast(start, to=INT64.dtype)
|
|
581
|
+
step = op.Cast(step, to=INT64.dtype)
|
|
582
|
+
result = op.Add(start, op.Mul(step, index))
|
|
583
|
+
return op.Cast(result, to=dtype)
|
|
584
|
+
|
|
585
|
+
|
|
524
586
|
def _integral_to_be_adjusted(dtype: int) -> bool:
|
|
525
587
|
"""Returns true if the dtype is special integral handled by torch."""
|
|
526
588
|
return dtype in {
|
|
@@ -544,6 +606,12 @@ def aten_arange(
|
|
|
544
606
|
zero = op.CastLike(0.0, end)
|
|
545
607
|
one = op.CastLike(1.0, end)
|
|
546
608
|
result = op.Range(zero, end, one)
|
|
609
|
+
elif (
|
|
610
|
+
_is_integral_dtype(dtype)
|
|
611
|
+
and not _is_integral_scalar(end)
|
|
612
|
+
and (dtype != INT64.dtype or _int64_arange_non_integral_uses_float_length())
|
|
613
|
+
):
|
|
614
|
+
result = _arange_integral_dtype_with_non_integral_args(0, end, 1, dtype)
|
|
547
615
|
elif _range_supported(dtype):
|
|
548
616
|
end = op.Cast(end, to=dtype)
|
|
549
617
|
zero = op.Cast(0, to=dtype)
|
|
@@ -576,6 +644,12 @@ def aten_arange_start(
|
|
|
576
644
|
if dtype == -1 or dtype is None:
|
|
577
645
|
one = op.CastLike(1.0, end)
|
|
578
646
|
result = op.Range(start, end, one)
|
|
647
|
+
elif (
|
|
648
|
+
_is_integral_dtype(dtype)
|
|
649
|
+
and not (_is_integral_scalar(start) and _is_integral_scalar(end))
|
|
650
|
+
and (dtype != INT64.dtype or _int64_arange_non_integral_uses_float_length())
|
|
651
|
+
):
|
|
652
|
+
result = _arange_integral_dtype_with_non_integral_args(start, end, 1, dtype)
|
|
579
653
|
elif _range_supported(dtype):
|
|
580
654
|
end = op.Cast(end, to=dtype)
|
|
581
655
|
start = op.Cast(start, to=dtype)
|
|
@@ -659,17 +733,26 @@ def aten_arange_start_step(
|
|
|
659
733
|
end = op.Cast(end, to=FLOAT.dtype)
|
|
660
734
|
step = op.Cast(step, to=FLOAT.dtype)
|
|
661
735
|
result = op.Range(start, end, step)
|
|
662
|
-
elif
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
736
|
+
elif (
|
|
737
|
+
_is_integral_dtype(dtype)
|
|
738
|
+
and not (
|
|
739
|
+
_is_integral_scalar(start)
|
|
740
|
+
and _is_integral_scalar(end)
|
|
741
|
+
and _is_integral_scalar(step)
|
|
742
|
+
)
|
|
743
|
+
and (dtype != INT64.dtype or _int64_arange_non_integral_uses_float_length())
|
|
744
|
+
):
|
|
745
|
+
result = _arange_integral_dtype_with_non_integral_args(start, end, step, dtype)
|
|
668
746
|
elif dtype == INT64.dtype:
|
|
669
747
|
end = op.Cast(end, to=dtype)
|
|
670
748
|
start = op.Cast(start, to=dtype)
|
|
671
749
|
step = op.Cast(step, to=dtype)
|
|
672
750
|
result = op.Range(start, end, step)
|
|
751
|
+
elif _integral_to_be_adjusted(dtype):
|
|
752
|
+
# PyTorch arange op handles these integral types differently from INT64
|
|
753
|
+
# when all arguments are integral.
|
|
754
|
+
start, end, step = _adjust_args_for_arange_int_dtype(start, end, step)
|
|
755
|
+
result = op.Cast(op.Range(start, end, step), to=dtype)
|
|
673
756
|
else:
|
|
674
757
|
# Cast input to float if dtype is not supported by Range,
|
|
675
758
|
# because the input dtype may be e.g. bfloat16,
|
|
@@ -3163,7 +3246,10 @@ def aten_div_mode(self: TReal, other: TReal, rounding_mode: Optional[str] = None
|
|
|
3163
3246
|
if rounding_mode == "trunc":
|
|
3164
3247
|
# Rounds the results of the division towards zero.
|
|
3165
3248
|
# Equivalent to C-style integer division
|
|
3166
|
-
|
|
3249
|
+
quotient = op.Div(self, other)
|
|
3250
|
+
if self.dtype == ir.DataType.FLOAT16:
|
|
3251
|
+
quotient = op.Cast(quotient, to=FLOAT16.dtype)
|
|
3252
|
+
return aten_trunc(quotient)
|
|
3167
3253
|
if rounding_mode == "floor":
|
|
3168
3254
|
return op.Floor(op.Div(self, other))
|
|
3169
3255
|
|
|
@@ -5445,7 +5531,7 @@ def aten_is_vulkan_available() -> bool:
|
|
|
5445
5531
|
raise NotImplementedError()
|
|
5446
5532
|
|
|
5447
5533
|
|
|
5448
|
-
@torch_op("aten::isclose")
|
|
5534
|
+
@torch_op("aten::isclose", trace_only=True)
|
|
5449
5535
|
def aten_isclose(
|
|
5450
5536
|
self: TReal,
|
|
5451
5537
|
other: TReal,
|
|
@@ -5455,12 +5541,37 @@ def aten_isclose(
|
|
|
5455
5541
|
) -> BOOL:
|
|
5456
5542
|
"""isclose(Tensor self, Tensor other, float rtol=1e-05, float atol=1e-08, bool equal_nan=False) -> Tensor"""
|
|
5457
5543
|
|
|
5458
|
-
#
|
|
5459
|
-
#
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5544
|
+
# torch builds isclose out of three terms in aten/src/ATen/native/TensorCompare.cpp:
|
|
5545
|
+
# exact equality, NaN against NaN when equal_nan is set, and the tolerance band
|
|
5546
|
+
# restricted to the elements whose error is finite.
|
|
5547
|
+
result = op.Equal(self, other)
|
|
5548
|
+
|
|
5549
|
+
# |self - other| <= atol + rtol x |other|
|
|
5550
|
+
actual_error = op.Abs(op.Sub(self, other))
|
|
5551
|
+
allowed_error = op.Add(
|
|
5552
|
+
op.CastLike(atol, other), op.Mul(op.CastLike(rtol, other), op.Abs(other))
|
|
5553
|
+
)
|
|
5554
|
+
|
|
5555
|
+
if self.dtype.is_floating_point():
|
|
5556
|
+
# Comparing the two sides of the band by subtraction carries the finiteness
|
|
5557
|
+
# restriction on its own, so no IsInf term is needed. An infinity on either side
|
|
5558
|
+
# puts a NaN into the subtraction whichever way it arrives: the error and the
|
|
5559
|
+
# allowance are both infinite and cancel, or the allowance is already NaN because
|
|
5560
|
+
# rtol is zero and zero times infinity is NaN. Every comparison against NaN is
|
|
5561
|
+
# false, which leaves the equality term above as the only way an infinity is
|
|
5562
|
+
# reported close. On finite values the sign of the difference and the direct
|
|
5563
|
+
# comparison agree exactly, so the band is unchanged.
|
|
5564
|
+
zero = op.Constant(value=ir.tensor(0, dtype=self.dtype))
|
|
5565
|
+
within_tolerance = op.LessOrEqual(op.Sub(actual_error, allowed_error), zero)
|
|
5566
|
+
if equal_nan:
|
|
5567
|
+
result = op.Or(result, op.And(op.IsNaN(self), op.IsNaN(other)))
|
|
5568
|
+
else:
|
|
5569
|
+
# Integers are never infinite and never NaN, so they need no finiteness term, and
|
|
5570
|
+
# IsNaN does not accept them. The subtraction is left off here because it can
|
|
5571
|
+
# overflow a narrow integer type where the direct comparison cannot.
|
|
5572
|
+
within_tolerance = op.LessOrEqual(actual_error, allowed_error)
|
|
5573
|
+
|
|
5574
|
+
return op.Or(result, within_tolerance)
|
|
5464
5575
|
|
|
5465
5576
|
|
|
5466
5577
|
@torch_op("aten::isfinite")
|
|
@@ -5852,8 +5963,9 @@ def aten_logit(self: TFloat, eps: Optional[float] = None) -> TFloat:
|
|
|
5852
5963
|
one_minus_eps = ir.tensor(1 - eps, dtype=self.dtype)
|
|
5853
5964
|
eps = ir.tensor(eps, dtype=self.dtype)
|
|
5854
5965
|
|
|
5855
|
-
|
|
5856
|
-
z = op.Where(
|
|
5966
|
+
# Match torch.clamp behavior for eps > 0.5 by applying max then min.
|
|
5967
|
+
z = op.Where(self < eps, eps, self)
|
|
5968
|
+
z = op.Where(z <= one_minus_eps, z, one_minus_eps)
|
|
5857
5969
|
|
|
5858
5970
|
return op.Log(op.Div(z, op.Sub(one, z)))
|
|
5859
5971
|
|
|
@@ -69,6 +69,14 @@ class _FuseBatchNormBase(RewriteRuleClassBase, ABC):
|
|
|
69
69
|
self._scale_weights(weights, scale_factor, inbound_node.attributes)
|
|
70
70
|
)
|
|
71
71
|
|
|
72
|
+
# Gemm optionally scales its bias input C by the "beta" attribute (default 1.0,
|
|
73
|
+
# https://onnx.ai/onnx/operators/onnx__Gemm.html#attributes); Conv/ConvTranspose have
|
|
74
|
+
# no such attribute. Fold that scaling into the fused bias now, and drop "beta" from
|
|
75
|
+
# the re-emitted node's attributes so it is not applied a second time there.
|
|
76
|
+
new_attributes = dict(inbound_node.attributes)
|
|
77
|
+
gemm_beta_attr = new_attributes.pop("beta", None)
|
|
78
|
+
gemm_beta = gemm_beta_attr.as_float() if gemm_beta_attr is not None else 1.0
|
|
79
|
+
|
|
72
80
|
# Update bias
|
|
73
81
|
if len(inbound_node.inputs) > 2:
|
|
74
82
|
original_bias = inbound_node.inputs[2].const_value.numpy()
|
|
@@ -79,14 +87,14 @@ class _FuseBatchNormBase(RewriteRuleClassBase, ABC):
|
|
|
79
87
|
# to avoid name collision on initializer creation when there are multiple patterns
|
|
80
88
|
# sharing the same parent nodes.
|
|
81
89
|
bias_name = inbound_node.inputs[1].name + "_bias"
|
|
82
|
-
fused_bias = ir.tensor((original_bias - input_mean) * scale_factor + beta)
|
|
90
|
+
fused_bias = ir.tensor((gemm_beta * original_bias - input_mean) * scale_factor + beta)
|
|
83
91
|
|
|
84
92
|
return op.op(
|
|
85
93
|
self.op_type,
|
|
86
94
|
x,
|
|
87
95
|
op.initializer(fused_weights, name=inbound_node.inputs[1].name),
|
|
88
96
|
op.initializer(fused_bias, name=bias_name),
|
|
89
|
-
**
|
|
97
|
+
**new_attributes,
|
|
90
98
|
)
|
|
91
99
|
|
|
92
100
|
def check(self, context, x, inbound_out: ir.Value, batchnorm_out: ir.Value) -> MatchResult:
|
|
@@ -160,11 +160,14 @@ def dft_19_20(node: ir.Node, op):
|
|
|
160
160
|
dft_length = node.inputs[1] if len(node.inputs) > 1 else None
|
|
161
161
|
inverse = _get_int_attribute(node, "inverse", 0)
|
|
162
162
|
onesided = _get_int_attribute(node, "onesided", 0)
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
163
|
+
# In opset 19 `axis` is an attribute defaulting to 1; in opset 20 it became an
|
|
164
|
+
# input defaulting to -2. An omitted attribute must therefore be materialized
|
|
165
|
+
# explicitly, or the converted node silently transforms a different axis.
|
|
166
|
+
axis = _get_int_attribute(node, "axis", 1)
|
|
167
|
+
if axis is None:
|
|
168
|
+
return None
|
|
169
|
+
axis_value = op.Constant(value_int=axis)
|
|
170
|
+
return op.DFT(input, dft_length, axis_value, inverse=inverse, onesided=onesided)
|
|
168
171
|
|
|
169
172
|
|
|
170
173
|
@register("GridSample", node_version=19, up_conversion=True)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: onnxscript
|
|
3
|
-
Version: 0.7.2.
|
|
3
|
+
Version: 0.7.2.dev20260903
|
|
4
4
|
Summary: Naturally author ONNX functions and models using a subset of Python
|
|
5
5
|
Author-email: Microsoft Corporation <onnx@microsoft.com>
|
|
6
6
|
License: MIT License
|
|
@@ -27,7 +27,7 @@ License: MIT License
|
|
|
27
27
|
|
|
28
28
|
Project-URL: Homepage, https://microsoft.github.io/onnxscript/
|
|
29
29
|
Project-URL: Repository, https://github.com/microsoft/onnxscript
|
|
30
|
-
Project-URL: Commit, https://github.com/microsoft/onnxscript/tree/
|
|
30
|
+
Project-URL: Commit, https://github.com/microsoft/onnxscript/tree/b4c10fab5b65d7f15bbaadae89512ba4fba74745
|
|
31
31
|
Classifier: Development Status :: 4 - Beta
|
|
32
32
|
Classifier: Environment :: Console
|
|
33
33
|
Classifier: Intended Audience :: Developers
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_framework_apis/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/__init__.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/_inference.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/_inliner.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/analysis.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/ast_utils.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/autocast.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/builder.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/converter.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/deprecation.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/evaluator.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/irbuilder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/sourceinfo.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/tape_builder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/values.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/_internal/version_utils.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/backend/__init__.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/backend/onnx_backend.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/backend/onnx_export.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/ir/passes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/__init__.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset1.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset10.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset11.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset12.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset13.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset14.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset15.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset16.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset17.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset18.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset19.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset2.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset20.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset21.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset22.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset23.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset24.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset25.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset26.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset27.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset3.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset4.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset5.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset6.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset7.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset8.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/onnx_opset/_impl/opset9.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/optimizer/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/optimizer/_optimizer.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/__init__.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_basics.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_context.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_fusion_utils.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_ir_utils.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_matcher.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_pattern_ir.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/_rewrite_rule.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/models/_phi2lm.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/models/_phi4lm.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/gqa.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/ort_fusions/mha.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/pattern.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/rules/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/rewriter/testing.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/testing/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/tools/memory_peak.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/utils/evaluation_utils.py
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/utils/metadata_merger.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript/utils/timing_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript.egg-info/requires.txt
RENAMED
|
File without changes
|
{onnxscript-0.7.2.dev20260825 → onnxscript-0.7.2.dev20260903}/onnxscript.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|