onnxscript 0.1.0.dev20231122__tar.gz → 0.1.0.dev20231123__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.1.0.dev20231122/onnxscript.egg-info → onnxscript-0.1.0.dev20231123}/PKG-INFO +2 -2
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/graph_building.py +153 -17
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123/onnxscript.egg-info}/PKG-INFO +2 -2
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/pyproject.toml +0 -1
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/setup.py +13 -1
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/LICENSE +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/MANIFEST.in +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/README.md +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/VERSION +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/__init__.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/__init__.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/analysis.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/analysis_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/ast_utils.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/autocast.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/deprecation.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/param_manipulation.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/param_manipulation_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/runtime_typing.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/utils.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/version_utils.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/backend/__init__.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/backend/onnx_backend.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/backend/onnx_backend_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/backend/onnx_export.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/backend/onnx_export_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/converter.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/converter_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/__init__.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/_infra.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/context.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/decorator.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/formatter.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/__init__.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_address.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_artifact.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_artifact_change.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_artifact_content.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_artifact_location.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_attachment.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_code_flow.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_configuration_override.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_conversion.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_edge.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_edge_traversal.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_exception.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_external_properties.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_external_property_file_reference.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_external_property_file_references.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_fix.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_graph.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_graph_traversal.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_invocation.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_location.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_location_relationship.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_logical_location.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_message.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_multiformat_message_string.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_node.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_notification.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_physical_location.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_property_bag.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_rectangle.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_region.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_replacement.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_reporting_configuration.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_reporting_descriptor.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_reporting_descriptor_reference.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_reporting_descriptor_relationship.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_result.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_result_provenance.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_run.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_run_automation_details.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_sarif_log.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_special_locations.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_stack.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_stack_frame.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_suppression.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_thread_flow.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_thread_flow_location.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_tool.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_tool_component.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_tool_component_reference.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_translation_metadata.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_version_control_details.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_web_request.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/_web_response.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/sarif/version.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/utils.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/evaluator.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/evaluator_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/tools/torch_lib/deduce_type_constraints.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/tools/torch_lib/deduce_type_constraints_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/tools/torch_lib/generate_aten_signatures.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/tools/torch_lib/generate_prims_signatures.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/__init__.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/_constants.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/_flags.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/graph_building_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/ops/__init__.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/ops/common.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/ops/core.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/ops/fft.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/ops/linalg.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/ops/nested.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/ops/nn.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/ops/prims.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/ops/sparse.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/ops/special.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/registration.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/function_libs/torch_lib/tensor_typing.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/irbuilder.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/main.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/__init__.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset1.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset10.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset11.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset12.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset13.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset14.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset15.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset16.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset17.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset18.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset19.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset2.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset3.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset4.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset5.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset6.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset7.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset8.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset9.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml1.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml2.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml3.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset_ai_onnx_preview_training1.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_types.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/py.typed +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/sourceinfo.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tensor.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tensor_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/testing.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/__init__.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/common/__init__.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/common/onnx_script_test_case.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/common/testutils.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/eager_mode_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/eager_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/external_tensor_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/function_libs/torch_lib/error_reproduction.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/function_libs/torch_lib/extra_opinfo.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/function_libs/torch_lib/ops_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/function_libs/torch_lib/ops_test_common.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/function_libs/torch_lib/ops_test_data.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/functions/attr_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/functions/gemmgelu.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/functions/gemmgelu_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/functions/if_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/functions/onnxfns1A_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/functions/onnxfns2_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/functions/onnxfns_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/functions/ort_custom_ops.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/if_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/loop_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/__init__.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/attrref.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/cast_like.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/different_opset.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/dropout.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/eager_op.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/eg1.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/getitem.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/graph_attr.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/identity.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/if_statement.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/loops_break.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/loops_while.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/m1.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/multi.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/onnxfns1.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/onnxfns1A.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/onnxfns2.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/opt_input.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/opt_output.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/renaming.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/sequences.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/signal_dft.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/subfunction.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/type_double.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/onnx_types_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/operator_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/type_annotation.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/type_annotation_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/values.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/values_test.py +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript.egg-info/SOURCES.txt +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript.egg-info/dependency_links.txt +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript.egg-info/requires.txt +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript.egg-info/top_level.txt +0 -0
- {onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/setup.cfg +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: onnxscript
|
|
3
|
-
Version: 0.1.0.
|
|
3
|
+
Version: 0.1.0.dev20231123
|
|
4
4
|
Summary: Naturally author ONNX functions and models using a subset of Python
|
|
5
|
+
Home-page: https://onnxscript.ai/
|
|
5
6
|
Author-email: Microsoft Corporation <onnx@microsoft.com>
|
|
6
7
|
License: MIT License
|
|
7
8
|
|
|
@@ -25,7 +26,6 @@ License: MIT License
|
|
|
25
26
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
27
|
SOFTWARE.
|
|
27
28
|
|
|
28
|
-
Project-URL: Repository, https://github.com/microsoft/onnxscript
|
|
29
29
|
Classifier: Development Status :: 4 - Beta
|
|
30
30
|
Classifier: Environment :: Console
|
|
31
31
|
Classifier: Intended Audience :: Developers
|
|
@@ -90,11 +90,14 @@ def _rename_intermediate_value(name: str) -> str:
|
|
|
90
90
|
class TorchScriptTensor(onnxscript_tensor.Tensor):
|
|
91
91
|
"""A onnxscript tensor that wraps a torchscript Value."""
|
|
92
92
|
|
|
93
|
-
def __init__(
|
|
93
|
+
def __init__(
|
|
94
|
+
self,
|
|
95
|
+
value: torch.Value,
|
|
96
|
+
):
|
|
94
97
|
super().__init__(None)
|
|
95
98
|
self._torch_value: torch.Value = value
|
|
96
99
|
self._concrete_value: Optional[np.ndarray] = None
|
|
97
|
-
self._shape: Optional[Tuple[int | None, ...]] = None
|
|
100
|
+
self._shape: Optional[Tuple[int | str | None, ...]] = None
|
|
98
101
|
self._torch_dtype: Optional[torch.dtype] = None
|
|
99
102
|
self._name: Optional[str] = None
|
|
100
103
|
self._is_complex: bool = False
|
|
@@ -125,6 +128,9 @@ class TorchScriptTensor(onnxscript_tensor.Tensor):
|
|
|
125
128
|
|
|
126
129
|
@property # type: ignore[override]
|
|
127
130
|
def rank(self) -> int | None:
|
|
131
|
+
if self._shape is not None:
|
|
132
|
+
return len(self._shape)
|
|
133
|
+
|
|
128
134
|
value_type = self._torch_value.type()
|
|
129
135
|
if value_type is None:
|
|
130
136
|
return None
|
|
@@ -132,7 +138,7 @@ class TorchScriptTensor(onnxscript_tensor.Tensor):
|
|
|
132
138
|
return value_type.dim()
|
|
133
139
|
|
|
134
140
|
@property # type: ignore[override]
|
|
135
|
-
def shape(self) -> Tuple[int | None, ...] | None:
|
|
141
|
+
def shape(self) -> Tuple[int | str | None, ...] | None:
|
|
136
142
|
if self._shape is not None:
|
|
137
143
|
return self._shape
|
|
138
144
|
|
|
@@ -149,9 +155,17 @@ class TorchScriptTensor(onnxscript_tensor.Tensor):
|
|
|
149
155
|
return tuple(shape)
|
|
150
156
|
|
|
151
157
|
@shape.setter
|
|
152
|
-
def shape(self, shape: Tuple[int | None, ...]):
|
|
153
|
-
|
|
154
|
-
|
|
158
|
+
def shape(self, shape: Union[torch.Size, Tuple[int | str | None, ...]]):
|
|
159
|
+
# Normalize torch symbolic dimension size to str.
|
|
160
|
+
torch_sym_types = (torch.SymInt, torch.SymFloat, torch.SymBool)
|
|
161
|
+
self._shape = tuple(
|
|
162
|
+
str(dim.node) if isinstance(dim, torch_sym_types) else dim # type: ignore[union-attr]
|
|
163
|
+
for dim in shape
|
|
164
|
+
)
|
|
165
|
+
# jit api does not support assigning symbolic shapes,
|
|
166
|
+
# hence symbols are replaced as None.
|
|
167
|
+
jit_shape = tuple(dim if isinstance(dim, int) else None for dim in shape)
|
|
168
|
+
self._torch_value.setType(self._torch_value.type().with_sizes(list(jit_shape)))
|
|
155
169
|
|
|
156
170
|
@property # type: ignore[override]
|
|
157
171
|
def dtype(self) -> torch.dtype | None:
|
|
@@ -195,6 +209,15 @@ class TorchScriptTensor(onnxscript_tensor.Tensor):
|
|
|
195
209
|
"""The symbolic Value in torch.Graph."""
|
|
196
210
|
return self._torch_value
|
|
197
211
|
|
|
212
|
+
def value_info(self) -> Optional[onnx.ValueInfoProto]:
|
|
213
|
+
try:
|
|
214
|
+
dtype = self.onnx_dtype.value
|
|
215
|
+
except torch.onnx.errors.OnnxExporterError:
|
|
216
|
+
return None
|
|
217
|
+
if dtype == onnx.TensorProto.UNDEFINED:
|
|
218
|
+
return None
|
|
219
|
+
return onnx.helper.make_tensor_value_info(self.name, dtype, self.shape)
|
|
220
|
+
|
|
198
221
|
|
|
199
222
|
@runtime_typing.checked
|
|
200
223
|
def _unwrap_tensor_to_torch_value(
|
|
@@ -223,7 +246,12 @@ def _unwrap_tensor_to_torch_value(
|
|
|
223
246
|
|
|
224
247
|
@runtime_typing.checked
|
|
225
248
|
def _wrap_torch_value_to_tensor(
|
|
226
|
-
value: Union[
|
|
249
|
+
value: Union[
|
|
250
|
+
torch.Value, Mapping[str, ValidTorchValueType], Sequence[ValidTorchValueType]
|
|
251
|
+
],
|
|
252
|
+
*,
|
|
253
|
+
shape: Optional[Union[torch.Size, Tuple[Union[int, str, None], ...]]] = None,
|
|
254
|
+
dtype: Optional[torch.dtype] = None,
|
|
227
255
|
) -> Union[
|
|
228
256
|
ValidArgumentType,
|
|
229
257
|
Dict[str, ValidArgumentType],
|
|
@@ -232,7 +260,12 @@ def _wrap_torch_value_to_tensor(
|
|
|
232
260
|
]:
|
|
233
261
|
"""Wrap torch.Value to TorchScriptTensor."""
|
|
234
262
|
if isinstance(value, torch.Value):
|
|
235
|
-
|
|
263
|
+
tensor = TorchScriptTensor(value)
|
|
264
|
+
if shape is not None:
|
|
265
|
+
tensor.shape = shape
|
|
266
|
+
if dtype is not None:
|
|
267
|
+
tensor.dtype = dtype
|
|
268
|
+
return tensor
|
|
236
269
|
if isinstance(value, dict):
|
|
237
270
|
return {k: _wrap_torch_value_to_tensor(v) for k, v in value.items()} # type: ignore[misc,return-value]
|
|
238
271
|
if isinstance(value, list):
|
|
@@ -399,6 +432,16 @@ class TorchScriptGraph:
|
|
|
399
432
|
self._parent_torch_script_graph = parent_torch_script_graph
|
|
400
433
|
# Domain name of the graph. None if this is the top level graph.
|
|
401
434
|
self._domain_name: Optional[str] = domain_name
|
|
435
|
+
# Mapping from `torch.Value` to `TorchScriptTensor`.
|
|
436
|
+
# Because `torch.Value` does not provide API to set and retrieve symbolic shapes,
|
|
437
|
+
# and because `TorchScriptTensor` is not accessible through the `torch.Graph` graph,
|
|
438
|
+
# this mapping is used to keep track of the `TorchScriptTensor` associated with
|
|
439
|
+
# `torch.Value`.
|
|
440
|
+
# `TorchScriptTensor` records dtype and symbolic shapes.
|
|
441
|
+
# This info is later serialized as `ValueInfoProto` inside ONNX, to
|
|
442
|
+
# provide shape and dtype information for nodes within nested function calls.
|
|
443
|
+
# https://github.com/onnx/onnx/issues/5487
|
|
444
|
+
self._value_to_tensor: Dict[torch.Value, TorchScriptTensor] = {}
|
|
402
445
|
|
|
403
446
|
if self._domain_name is None and self._parent_torch_script_graph is not None:
|
|
404
447
|
raise RuntimeError(
|
|
@@ -441,7 +484,7 @@ class TorchScriptGraph:
|
|
|
441
484
|
def add_input(
|
|
442
485
|
self,
|
|
443
486
|
input_name: Optional[str],
|
|
444
|
-
shape: Optional[Union[torch.Size,
|
|
487
|
+
shape: Optional[Union[torch.Size, Tuple[Union[int, str, None], ...]]] = None,
|
|
445
488
|
dtype: Optional[torch.dtype] = None,
|
|
446
489
|
) -> TorchScriptTensor:
|
|
447
490
|
if input_name is None:
|
|
@@ -462,7 +505,11 @@ class TorchScriptGraph:
|
|
|
462
505
|
[dim if isinstance(dim, int) else None for dim in shape] # type: ignore[union-attr]
|
|
463
506
|
)
|
|
464
507
|
)
|
|
465
|
-
tensor_value = _wrap_torch_value_to_tensor(torch_value)
|
|
508
|
+
tensor_value = _wrap_torch_value_to_tensor(torch_value, shape=shape, dtype=dtype)
|
|
509
|
+
if isinstance(tensor_value, TorchScriptTensor):
|
|
510
|
+
# NOTE: Only track value that maps to tensor.
|
|
511
|
+
# Value that maps to Sequence/Dict of tensors is not tracked.
|
|
512
|
+
self._value_to_tensor[torch_value] = tensor_value
|
|
466
513
|
return tensor_value # type: ignore[return-value]
|
|
467
514
|
|
|
468
515
|
@runtime_typing.checked
|
|
@@ -486,16 +533,16 @@ class TorchScriptGraph:
|
|
|
486
533
|
self._initializers_inputs_from_parent[
|
|
487
534
|
name
|
|
488
535
|
] = self._parent_torch_script_graph.add_initializer(name, value)
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
tensor_value = _wrap_torch_value_to_tensor(torch_value)
|
|
492
|
-
self._initializers_inputs[name] = tensor_value # type: ignore[assignment]
|
|
493
|
-
return tensor_value # type: ignore[return-value]
|
|
536
|
+
else:
|
|
537
|
+
self._initializers[name] = value
|
|
494
538
|
|
|
495
|
-
self._initializers[name] = value
|
|
496
539
|
torch_value = self._torch_graph.addInput(name)
|
|
497
540
|
torch_value.setType(torch.TensorType.create_from_tensor(value))
|
|
498
|
-
tensor_value = _wrap_torch_value_to_tensor(
|
|
541
|
+
tensor_value = _wrap_torch_value_to_tensor(
|
|
542
|
+
torch_value, shape=value.shape, dtype=value.dtype
|
|
543
|
+
)
|
|
544
|
+
if isinstance(tensor_value, TorchScriptTensor):
|
|
545
|
+
self._value_to_tensor[torch_value] = tensor_value
|
|
499
546
|
self._initializers_inputs[name] = tensor_value # type: ignore[assignment]
|
|
500
547
|
return tensor_value # type: ignore[return-value]
|
|
501
548
|
|
|
@@ -595,11 +642,16 @@ class TorchScriptGraph:
|
|
|
595
642
|
n_outputs=n_outputs,
|
|
596
643
|
)
|
|
597
644
|
assert result, "Expected at least one output from ONNX op call."
|
|
645
|
+
# NOTE: TorchScriptTensor is created here, however neither dtype nor shape is
|
|
646
|
+
# set. It is expected that exporter will modify the tensor being returned and
|
|
647
|
+
# set these info.
|
|
598
648
|
if len(result) == 1:
|
|
599
649
|
tensor = TorchScriptTensor(result[0])
|
|
600
650
|
tensor.name = _rename_intermediate_value(tensor.name)
|
|
651
|
+
self._value_to_tensor[result[0]] = tensor
|
|
601
652
|
return tensor
|
|
602
653
|
tensors = tuple(TorchScriptTensor(v) for v in result)
|
|
654
|
+
self._value_to_tensor.update(dict(zip(result, tensors)))
|
|
603
655
|
for tensor in tensors:
|
|
604
656
|
tensor.name = _rename_intermediate_value(tensor.name)
|
|
605
657
|
return tensors
|
|
@@ -634,6 +686,54 @@ class TorchScriptGraph:
|
|
|
634
686
|
function_proto_dict[name_domain] = function.to_function_proto()
|
|
635
687
|
return function_proto_dict
|
|
636
688
|
|
|
689
|
+
@runtime_typing.checked
|
|
690
|
+
def _override_with_symbolic_value_info_proto(self, onnx_model: onnx.ModelProto):
|
|
691
|
+
existing_value_info = {info.name: info for info in onnx_model.graph.value_info}
|
|
692
|
+
|
|
693
|
+
# Override value_info for top level graph inputs.
|
|
694
|
+
for input in self.torch_graph.inputs():
|
|
695
|
+
if input not in self._value_to_tensor:
|
|
696
|
+
raise RuntimeError(f"Input '{input.debugName()}' has no type.")
|
|
697
|
+
tensor = self._value_to_tensor[input]
|
|
698
|
+
if (value_info := tensor.value_info()) is None:
|
|
699
|
+
continue
|
|
700
|
+
for i, input_info in enumerate(onnx_model.graph.input):
|
|
701
|
+
if input_info.name == input.debugName():
|
|
702
|
+
onnx_model.graph.input.insert(i, value_info)
|
|
703
|
+
onnx_model.graph.input.remove(input_info)
|
|
704
|
+
break
|
|
705
|
+
|
|
706
|
+
# Override value_info for top level graph outputs.
|
|
707
|
+
for output in self.torch_graph.outputs():
|
|
708
|
+
if output not in self._value_to_tensor:
|
|
709
|
+
raise RuntimeError(f"Output '{output.debugName()}' has no type.")
|
|
710
|
+
tensor = self._value_to_tensor[output]
|
|
711
|
+
if (value_info := tensor.value_info()) is None:
|
|
712
|
+
continue
|
|
713
|
+
for i, output_info in enumerate(onnx_model.graph.output):
|
|
714
|
+
if output_info.name == output.debugName():
|
|
715
|
+
onnx_model.graph.output.insert(i, value_info)
|
|
716
|
+
onnx_model.graph.output.remove(output_info)
|
|
717
|
+
break
|
|
718
|
+
|
|
719
|
+
# Remove existing static/incomplete value info.
|
|
720
|
+
del onnx_model.graph.value_info[:]
|
|
721
|
+
|
|
722
|
+
# Insert value info for nodes within nested function calls.
|
|
723
|
+
# NOTE: This is an experimental feature, since in official ONNX spec, nodes
|
|
724
|
+
# within FunctionProto to have value info. https://github.com/onnx/onnx/issues/5487
|
|
725
|
+
# The names for value info are generated uniquely to be retrievable based on
|
|
726
|
+
# the call site and call stack.
|
|
727
|
+
# The naming strategy is subject to change. Since all local functions representing
|
|
728
|
+
# nn.Modules exported by dynamo exporter have unique call sites, their function
|
|
729
|
+
# op_type name can serve to form the unique identifier for value info.
|
|
730
|
+
function_value_infos = self.generate_function_value_info_proto()
|
|
731
|
+
# Override existing value info for nodes in top level graph.
|
|
732
|
+
existing_value_info.update(function_value_infos)
|
|
733
|
+
onnx_model.graph.value_info.extend(existing_value_info.values())
|
|
734
|
+
|
|
735
|
+
return onnx_model
|
|
736
|
+
|
|
637
737
|
@runtime_typing.checked
|
|
638
738
|
def add_op_call(
|
|
639
739
|
self,
|
|
@@ -692,6 +792,39 @@ class TorchScriptGraph:
|
|
|
692
792
|
n_outputs=sub_torch_script_graph.num_outputs,
|
|
693
793
|
)
|
|
694
794
|
|
|
795
|
+
@runtime_typing.checked
|
|
796
|
+
def generate_function_value_info_proto(
|
|
797
|
+
self, prefix: str = ""
|
|
798
|
+
) -> Mapping[str, onnx.ValueInfoProto]:
|
|
799
|
+
"""Unique naming strategies
|
|
800
|
+
|
|
801
|
+
{function1_op_type}/{function2_op_type}/.../{value_name}
|
|
802
|
+
|
|
803
|
+
As long as function op_type has unique call site, this is safe.
|
|
804
|
+
|
|
805
|
+
Preferably, the following is better
|
|
806
|
+
|
|
807
|
+
{node1_name}/{node2_name}/.../{value_name}
|
|
808
|
+
|
|
809
|
+
However, node name is an optional field generated on the fly during torchscript
|
|
810
|
+
graph serialization to onnx model proto. Such info is not retrievable at this point.
|
|
811
|
+
"""
|
|
812
|
+
named_value_info = {}
|
|
813
|
+
for torch_value, tensor in self._value_to_tensor.items():
|
|
814
|
+
name = torch_value.debugName()
|
|
815
|
+
if (value_info := tensor.value_info()) is None:
|
|
816
|
+
continue
|
|
817
|
+
if prefix:
|
|
818
|
+
name = f"{prefix}/{name}"
|
|
819
|
+
named_value_info[name] = value_info
|
|
820
|
+
for name, sub_graph in self._sub_torch_script_graphs.items():
|
|
821
|
+
named_value_info.update(
|
|
822
|
+
sub_graph.generate_function_value_info_proto(
|
|
823
|
+
f"{prefix}/{name}" if prefix else name
|
|
824
|
+
)
|
|
825
|
+
)
|
|
826
|
+
return named_value_info
|
|
827
|
+
|
|
695
828
|
@runtime_typing.checked
|
|
696
829
|
def to_function_proto(self, opset_version: int, function_name: str) -> onnx.FunctionProto:
|
|
697
830
|
assert len(self.initializers) == 0, "Model local functions cannot have initializers."
|
|
@@ -801,6 +934,9 @@ class TorchScriptGraph:
|
|
|
801
934
|
onnx_model.functions.extend(function_proto_dict.values())
|
|
802
935
|
onnx_model.functions.extend(_shared_functions())
|
|
803
936
|
|
|
937
|
+
# Override value_infos with symbolic shapes.
|
|
938
|
+
onnx_model = self._override_with_symbolic_value_info_proto(onnx_model)
|
|
939
|
+
|
|
804
940
|
# `_export_onnx` only exports opset_imports that is visible to it. It does not
|
|
805
941
|
# export opset_imports for nested functions, since it does not have access to
|
|
806
942
|
# them. We manually add them back and merge with existing opset_imports in the
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: onnxscript
|
|
3
|
-
Version: 0.1.0.
|
|
3
|
+
Version: 0.1.0.dev20231123
|
|
4
4
|
Summary: Naturally author ONNX functions and models using a subset of Python
|
|
5
|
+
Home-page: https://onnxscript.ai/
|
|
5
6
|
Author-email: Microsoft Corporation <onnx@microsoft.com>
|
|
6
7
|
License: MIT License
|
|
7
8
|
|
|
@@ -25,7 +26,6 @@ License: MIT License
|
|
|
25
26
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
27
|
SOFTWARE.
|
|
27
28
|
|
|
28
|
-
Project-URL: Repository, https://github.com/microsoft/onnxscript
|
|
29
29
|
Classifier: Development Status :: 4 - Beta
|
|
30
30
|
Classifier: Environment :: Console
|
|
31
31
|
Classifier: Intended Audience :: Developers
|
|
@@ -7,7 +7,6 @@ name = "onnxscript"
|
|
|
7
7
|
dynamic = ["version"]
|
|
8
8
|
description = "Naturally author ONNX functions and models using a subset of Python"
|
|
9
9
|
authors = [{ name = "Microsoft Corporation", email = "onnx@microsoft.com" }]
|
|
10
|
-
urls = { "Repository" = "https://github.com/microsoft/onnxscript" }
|
|
11
10
|
readme = "README.md"
|
|
12
11
|
requires-python = ">=3.8"
|
|
13
12
|
license = { file = "LICENSE" }
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import datetime
|
|
8
8
|
import os
|
|
9
9
|
import pathlib
|
|
10
|
+
import subprocess
|
|
10
11
|
|
|
11
12
|
import setuptools
|
|
12
13
|
|
|
@@ -15,9 +16,20 @@ ROOT_DIR = pathlib.Path(__file__).parent
|
|
|
15
16
|
VERSION_FILE = ROOT_DIR / "VERSION"
|
|
16
17
|
version = VERSION_FILE.read_text().strip()
|
|
17
18
|
|
|
19
|
+
project_urls = {
|
|
20
|
+
"Repository": "https://github.com/microsoft/onnxscript",
|
|
21
|
+
}
|
|
18
22
|
if os.environ.get("ONNX_SCRIPT_RELEASE") != "1":
|
|
19
23
|
date = datetime.date.today().strftime("%Y%m%d")
|
|
20
24
|
version = f"{version}.dev{date}"
|
|
21
25
|
|
|
26
|
+
commit_hash_cmd = subprocess.run(
|
|
27
|
+
["git", "rev-parse", "HEAD"], stdout=subprocess.PIPE, check=False
|
|
28
|
+
)
|
|
29
|
+
if commit_hash_cmd.returncode == 0:
|
|
30
|
+
project_urls[
|
|
31
|
+
"Commit"
|
|
32
|
+
] = f"https://github.com/microsoft/onnxscript/tree/{commit_hash_cmd.stdout.decode('utf-8').strip()}"
|
|
33
|
+
|
|
22
34
|
# NOTE: Do not include other metadata in setup.py. Put it in pyproject.toml.
|
|
23
|
-
setuptools.setup(version=version)
|
|
35
|
+
setuptools.setup(version=version, project_urls=project_urls, url="https://onnxscript.ai/")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/__init__.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/analysis.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/analysis_test.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/ast_utils.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/autocast.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/deprecation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/runtime_typing.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/_internal/version_utils.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/backend/__init__.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/backend/onnx_backend.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/backend/onnx_export.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/backend/onnx_export_test.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/_infra.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
|
|
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
|
|
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.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/diagnostics/infra/utils.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.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/__init__.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset1.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset10.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset11.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset12.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset13.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset14.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset15.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset16.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset17.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset18.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset19.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset2.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset3.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset4.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset5.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset6.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset7.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/onnx_opset/_impl/opset8.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/common/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/common/testutils.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/eager_mode_test.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/eager_test.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.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/functions/gemmgelu.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/functions/if_test.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.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/__init__.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/attrref.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/cast_like.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/dropout.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/eager_op.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/eg1.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/getitem.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/graph_attr.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/identity.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/loops_break.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/loops_while.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/multi.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/onnxfns1.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/onnxfns1A.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/onnxfns2.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/opt_input.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/opt_output.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/renaming.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/sequences.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/signal_dft.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/subfunction.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/models/type_double.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/onnx_types_test.py
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/tests/operator_test.py
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript/type_annotation_test.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript.egg-info/requires.txt
RENAMED
|
File without changes
|
{onnxscript-0.1.0.dev20231122 → onnxscript-0.1.0.dev20231123}/onnxscript.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|