From b03dc6faa2ed3c025765380ca19bf2178833afde Mon Sep 17 00:00:00 2001 From: Pranav Sharma Date: Mon, 22 Jul 2019 11:09:12 -0700 Subject: [PATCH 1/3] Mention OrtCreateSessionFromArray in C API doc --- docs/C_API.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/C_API.md b/docs/C_API.md index e13ddecfb095..ea99c5875fe4 100644 --- a/docs/C_API.md +++ b/docs/C_API.md @@ -11,6 +11,7 @@ * Setting the thread pool size for each session. * Setting graph optimization level for each session. * Dynamically loading custom ops. [Instructions](/docs/AddingCustomOp.md) +* Ability to load a model from a byte array. See ```OrtCreateSessionFromArray``` in [onnxruntime_c_api.h](/include/onnxruntime/core/session/onnxruntime_c_api.h). ## Usage Overview From d2dc35b1f20f97162ee379fb7d70b1050dc558ad Mon Sep 17 00:00:00 2001 From: Pranav Sharma Date: Mon, 26 Aug 2019 16:41:40 -0700 Subject: [PATCH 2/3] Fix registration of Equal op causing one of the automl models to break in 0.5 release. --- .../providers/cpu/cpu_execution_provider.cc | 12 ++--- .../providers/cpu/math/element_wise_ops.cc | 44 ++++++++----------- 2 files changed, 25 insertions(+), 31 deletions(-) diff --git a/onnxruntime/core/providers/cpu/cpu_execution_provider.cc b/onnxruntime/core/providers/cpu/cpu_execution_provider.cc index a700a151f82d..0289f6b02eb3 100644 --- a/onnxruntime/core/providers/cpu/cpu_execution_provider.cc +++ b/onnxruntime/core/providers/cpu/cpu_execution_provider.cc @@ -86,9 +86,9 @@ class ONNX_OPERATOR_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, Or) class ONNX_OPERATOR_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, Xor); class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, 9, float, Less); class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, 9, float, Greater); -class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, bool, Equal); -class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, int32_t, Equal); -class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, int64_t, Equal); +class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, 11, bool, Equal); +class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, 11, int32_t, Equal); +class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, 11, int64_t, Equal); class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 11, float, Equal); class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 6, 7, float, Mean); class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 8, float, Mean); @@ -373,9 +373,9 @@ void RegisterOnnxOperatorKernels(KernelRegistry& kernel_registry) { BuildKernelCreateInfo, BuildKernelCreateInfo, BuildKernelCreateInfo, - BuildKernelCreateInfo, - BuildKernelCreateInfo, - BuildKernelCreateInfo, + BuildKernelCreateInfo, + BuildKernelCreateInfo, + BuildKernelCreateInfo, BuildKernelCreateInfo, BuildKernelCreateInfo, BuildKernelCreateInfo, diff --git a/onnxruntime/core/providers/cpu/math/element_wise_ops.cc b/onnxruntime/core/providers/cpu/math/element_wise_ops.cc index 7c13c98a745a..ce3798d4b17a 100644 --- a/onnxruntime/core/providers/cpu/math/element_wise_ops.cc +++ b/onnxruntime/core/providers/cpu/math/element_wise_ops.cc @@ -18,13 +18,12 @@ namespace onnxruntime { KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()), \ KERNEL_CLASS); -#define REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(OP_TYPE, VERSION, TYPE, KERNEL_CLASS) \ - ONNX_CPU_OPERATOR_TYPED_KERNEL( \ - OP_TYPE, \ - VERSION, \ - TYPE, \ - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) \ - .TypeConstraint("T1", DataTypeImpl::GetTensorType()), \ +#define REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(OP_TYPE, VERSION, TYPE, KERNEL_CLASS) \ + ONNX_CPU_OPERATOR_TYPED_KERNEL( \ + OP_TYPE, \ + VERSION, \ + TYPE, \ + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), \ KERNEL_CLASS); #define REG_ELEMENTWISE_VERSIONED_TYPED_KERNEL(OP_TYPE, VERSION_FROM, VERSION_TO, TYPE, KERNEL_CLASS) \ @@ -35,13 +34,12 @@ namespace onnxruntime { KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()), \ KERNEL_CLASS); -#define REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(OP_TYPE, VERSION_FROM, VERSION_TO, TYPE, KERNEL_CLASS) \ - ONNX_CPU_OPERATOR_VERSIONED_TYPED_KERNEL( \ - OP_TYPE, \ - VERSION_FROM, VERSION_TO, \ - TYPE, \ - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) \ - .TypeConstraint("T1", DataTypeImpl::GetTensorType()), \ +#define REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(OP_TYPE, VERSION_FROM, VERSION_TO, TYPE, KERNEL_CLASS) \ + ONNX_CPU_OPERATOR_VERSIONED_TYPED_KERNEL( \ + OP_TYPE, \ + VERSION_FROM, VERSION_TO, \ + TYPE, \ + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), \ KERNEL_CLASS); REG_ELEMENTWISE_TYPED_KERNEL(Add, 7, float, Add); @@ -114,9 +112,9 @@ REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(Greater, 7, 9, float, Greater) REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Greater, 9, int32_t, Greater); REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Greater, 9, int64_t, Greater); -REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Equal, 7, bool, Equal); -REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Equal, 7, int32_t, Equal); -REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Equal, 7, int64_t, Equal); +REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(Equal, 7, 11, bool, Equal); +REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(Equal, 7, 11, int32_t, Equal); +REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(Equal, 7, 11, int64_t, Equal); REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Equal, 11, float, Equal); REG_ELEMENTWISE_VERSIONED_TYPED_KERNEL(Mean, 6, 7, float, Mean_6); @@ -132,29 +130,25 @@ REG_ELEMENTWISE_TYPED_KERNEL(Erf, 9, float, Erf); ONNX_CPU_OPERATOR_KERNEL( Not, 1, - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) - .TypeConstraint("T1", DataTypeImpl::GetTensorType()), + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), Not); ONNX_CPU_OPERATOR_KERNEL( And, 7, - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) - .TypeConstraint("T1", DataTypeImpl::GetTensorType()), + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), And); ONNX_CPU_OPERATOR_KERNEL( Or, 7, - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) - .TypeConstraint("T1", DataTypeImpl::GetTensorType()), + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), Or); ONNX_CPU_OPERATOR_KERNEL( Xor, 7, - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) - .TypeConstraint("T1", DataTypeImpl::GetTensorType()), + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), Xor); template From a08eba278c3bd514b97efbec5461fe8986cba01c Mon Sep 17 00:00:00 2001 From: Pranav Sharma Date: Thu, 29 Aug 2019 00:58:53 -0700 Subject: [PATCH 3/3] updates... --- onnxruntime/core/graph/model.cc | 13 ++++-- .../providers/cpu/cpu_execution_provider.cc | 12 ++--- .../providers/cpu/math/element_wise_ops.cc | 44 +++++++++++-------- .../test/framework/inference_session_test.cc | 17 +++++-- .../test_model_with_fullonnxdomain.onnx | 18 ++++++++ 5 files changed, 73 insertions(+), 31 deletions(-) create mode 100644 onnxruntime/test/testdata/test_model_with_fullonnxdomain.onnx diff --git a/onnxruntime/core/graph/model.cc b/onnxruntime/core/graph/model.cc index 3d03b2b4efd5..d2da1752292b 100644 --- a/onnxruntime/core/graph/model.cc +++ b/onnxruntime/core/graph/model.cc @@ -108,18 +108,25 @@ Model::Model(std::unique_ptr model_proto, const IOnnxRuntimeOpSchema const auto& domain = opSet.domain(); const auto version = opSet.version(); // empty domain and 'ai.onnx' are equivalent - if ((domain.empty() || domain == "ai.onnx") && version < 7) { + if ((domain.empty() || domain == kOnnxDomainAlias) && version < 7) { // TODO: Check if we can upgrade all the current opset 6 models that are being tested // in CI to opset 7 or above LOGS_DEFAULT(WARNING) << "ONNX Runtime only *guarantees* support for models stamped " "with opset version 7 or above for opset domain 'ai.onnx'. " "Please upgrade your model to opset 7 or higher. " "For now, this opset " - << version + << version << " model may run depending upon legacy support " "of some older opset version operators."; } - domain_to_version[domain] = gsl::narrow_cast(version); + // We need to overwrite the domain here with ("") or else the loop below will try to find ("") + // in the map and if not found (when domain == kOnnxDomainAlias), adds an entry for ("", 11). + // This effectively ignores the opset version specified by the model for the onnx domain. + if (domain == kOnnxDomainAlias) { + domain_to_version[kOnnxDomain] = gsl::narrow_cast(version); + } else { + domain_to_version[domain] = gsl::narrow_cast(version); + } } auto domain_map = schema_registry->GetLatestOpsetVersions(false); diff --git a/onnxruntime/core/providers/cpu/cpu_execution_provider.cc b/onnxruntime/core/providers/cpu/cpu_execution_provider.cc index 0289f6b02eb3..a700a151f82d 100644 --- a/onnxruntime/core/providers/cpu/cpu_execution_provider.cc +++ b/onnxruntime/core/providers/cpu/cpu_execution_provider.cc @@ -86,9 +86,9 @@ class ONNX_OPERATOR_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, Or) class ONNX_OPERATOR_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, Xor); class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, 9, float, Less); class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, 9, float, Greater); -class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, 11, bool, Equal); -class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, 11, int32_t, Equal); -class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, 11, int64_t, Equal); +class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, bool, Equal); +class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, int32_t, Equal); +class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 7, int64_t, Equal); class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 11, float, Equal); class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 6, 7, float, Mean); class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 8, float, Mean); @@ -373,9 +373,9 @@ void RegisterOnnxOperatorKernels(KernelRegistry& kernel_registry) { BuildKernelCreateInfo, BuildKernelCreateInfo, BuildKernelCreateInfo, - BuildKernelCreateInfo, - BuildKernelCreateInfo, - BuildKernelCreateInfo, + BuildKernelCreateInfo, + BuildKernelCreateInfo, + BuildKernelCreateInfo, BuildKernelCreateInfo, BuildKernelCreateInfo, BuildKernelCreateInfo, diff --git a/onnxruntime/core/providers/cpu/math/element_wise_ops.cc b/onnxruntime/core/providers/cpu/math/element_wise_ops.cc index ce3798d4b17a..7c13c98a745a 100644 --- a/onnxruntime/core/providers/cpu/math/element_wise_ops.cc +++ b/onnxruntime/core/providers/cpu/math/element_wise_ops.cc @@ -18,12 +18,13 @@ namespace onnxruntime { KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()), \ KERNEL_CLASS); -#define REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(OP_TYPE, VERSION, TYPE, KERNEL_CLASS) \ - ONNX_CPU_OPERATOR_TYPED_KERNEL( \ - OP_TYPE, \ - VERSION, \ - TYPE, \ - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), \ +#define REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(OP_TYPE, VERSION, TYPE, KERNEL_CLASS) \ + ONNX_CPU_OPERATOR_TYPED_KERNEL( \ + OP_TYPE, \ + VERSION, \ + TYPE, \ + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) \ + .TypeConstraint("T1", DataTypeImpl::GetTensorType()), \ KERNEL_CLASS); #define REG_ELEMENTWISE_VERSIONED_TYPED_KERNEL(OP_TYPE, VERSION_FROM, VERSION_TO, TYPE, KERNEL_CLASS) \ @@ -34,12 +35,13 @@ namespace onnxruntime { KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()), \ KERNEL_CLASS); -#define REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(OP_TYPE, VERSION_FROM, VERSION_TO, TYPE, KERNEL_CLASS) \ - ONNX_CPU_OPERATOR_VERSIONED_TYPED_KERNEL( \ - OP_TYPE, \ - VERSION_FROM, VERSION_TO, \ - TYPE, \ - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), \ +#define REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(OP_TYPE, VERSION_FROM, VERSION_TO, TYPE, KERNEL_CLASS) \ + ONNX_CPU_OPERATOR_VERSIONED_TYPED_KERNEL( \ + OP_TYPE, \ + VERSION_FROM, VERSION_TO, \ + TYPE, \ + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) \ + .TypeConstraint("T1", DataTypeImpl::GetTensorType()), \ KERNEL_CLASS); REG_ELEMENTWISE_TYPED_KERNEL(Add, 7, float, Add); @@ -112,9 +114,9 @@ REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(Greater, 7, 9, float, Greater) REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Greater, 9, int32_t, Greater); REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Greater, 9, int64_t, Greater); -REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(Equal, 7, 11, bool, Equal); -REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(Equal, 7, 11, int32_t, Equal); -REG_ELEMENTWISE_LOGICALOP_VERSIONED_TYPED_KERNEL(Equal, 7, 11, int64_t, Equal); +REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Equal, 7, bool, Equal); +REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Equal, 7, int32_t, Equal); +REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Equal, 7, int64_t, Equal); REG_ELEMENTWISE_LOGICALOP_TYPED_KERNEL(Equal, 11, float, Equal); REG_ELEMENTWISE_VERSIONED_TYPED_KERNEL(Mean, 6, 7, float, Mean_6); @@ -130,25 +132,29 @@ REG_ELEMENTWISE_TYPED_KERNEL(Erf, 9, float, Erf); ONNX_CPU_OPERATOR_KERNEL( Not, 1, - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) + .TypeConstraint("T1", DataTypeImpl::GetTensorType()), Not); ONNX_CPU_OPERATOR_KERNEL( And, 7, - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) + .TypeConstraint("T1", DataTypeImpl::GetTensorType()), And); ONNX_CPU_OPERATOR_KERNEL( Or, 7, - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) + .TypeConstraint("T1", DataTypeImpl::GetTensorType()), Or); ONNX_CPU_OPERATOR_KERNEL( Xor, 7, - KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()).TypeConstraint("T1", DataTypeImpl::GetTensorType()), + KernelDefBuilder().TypeConstraint("T", DataTypeImpl::GetTensorType()) + .TypeConstraint("T1", DataTypeImpl::GetTensorType()), Xor); template diff --git a/onnxruntime/test/framework/inference_session_test.cc b/onnxruntime/test/framework/inference_session_test.cc index 9d4f2e419371..9c273d846bf0 100644 --- a/onnxruntime/test/framework/inference_session_test.cc +++ b/onnxruntime/test/framework/inference_session_test.cc @@ -122,7 +122,7 @@ class FuseExecutionProvider : public IExecutionProvider { class InferenceSessionGetGraphWrapper : public InferenceSession { public: explicit InferenceSessionGetGraphWrapper(const SessionOptions& session_options, - logging::LoggingManager* logging_manager) : InferenceSession(session_options, logging_manager) { + logging::LoggingManager* logging_manager) : InferenceSession(session_options, logging_manager) { } const Graph& GetGraph() { @@ -364,7 +364,7 @@ TEST(InferenceSessionTests, TestModelSerialization) { InferenceSessionGetGraphWrapper session_object{so, &DefaultLoggingManager()}; ASSERT_TRUE(session_object.Load(test_model).IsOK()); ASSERT_TRUE(session_object.Initialize().IsOK()); - + // Assert that model has been transformed and identity Node is removed. const auto& graph = session_object.GetGraph(); std::map op_to_count = CountOpsInGraph(graph); @@ -383,7 +383,7 @@ TEST(InferenceSessionTests, TestModelSerialization) { InferenceSession session_object_opt{so_opt, &DefaultLoggingManager()}; ASSERT_TRUE(session_object_opt.Load(so.optimized_model_filepath).IsOK()); ASSERT_TRUE(session_object_opt.Initialize().IsOK()); - + // Assert that re-feed of optimized model with default transform level results // in same runtime model as abs-id-max.onnx with TransformLevel-1. std::ifstream model_fs_session1(so.optimized_model_filepath, ios::in | ios::binary); @@ -1481,5 +1481,16 @@ TEST(InferenceSessionTests, TestParallelExecutionWithCudaProvider) { #endif +TEST(InferenceSessionTests, ModelWithKOnnxDomainAlias) { + SessionOptions so; + so.session_logid = "InferenceSessionTests.NoTimeout"; + InferenceSession session_object{so, &DefaultLoggingManager()}; + std::string file_name = "testdata/test_model_with_fullonnxdomain.onnx"; + auto ret_status = session_object.Load(file_name); + ASSERT_TRUE(ret_status.IsOK()) << ret_status.ErrorMessage(); + ret_status = session_object.Initialize(); + ASSERT_TRUE(ret_status.IsOK()) << ret_status.ErrorMessage(); +} + } // namespace test } // namespace onnxruntime diff --git a/onnxruntime/test/testdata/test_model_with_fullonnxdomain.onnx b/onnxruntime/test/testdata/test_model_with_fullonnxdomain.onnx new file mode 100644 index 000000000000..fe97d50aa552 --- /dev/null +++ b/onnxruntime/test/testdata/test_model_with_fullonnxdomain.onnx @@ -0,0 +1,18 @@ + onnx-example"ai.onnx:j + +X1 +X2Y"Equal:ai.onnx +test-modelZ +X1 +  + +Z +X2 +  + +b +Y +   + +B +ai.onnx \ No newline at end of file