diff --git a/docs/ContribOperators.md b/docs/ContribOperators.md index 494b6cdb66..56b25a5414 100644 --- a/docs/ContribOperators.md +++ b/docs/ContribOperators.md @@ -2088,16 +2088,48 @@ This version of the operator has been available since version 1 of the 'com.micr -### **com.microsoft.TransposeMatMul** (deprecated) +### **com.microsoft.TransposeMatMul** - Deprecated. Going forward FusedMatMul should be used. This OP will be supported for backward compatibility. + Duplicate of FusedMatMul. Going forward FusedMatMul should be used. This OP will be supported for backward compatibility. Matrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html #### Version -This version of the operator has been deprecated since version 2 of the 'com.microsoft' operator set. +This version of the operator has been available since version 1 of the 'com.microsoft' operator set. -Other versions of this operator: com.microsoft.TransposeMatMul-1 +#### Attributes + +
+
alpha : float
+
Scalar multiplier for the product of the input tensors.
+
transA : int
+
Whether A should be transposed on the last two dimensions before doing multiplication
+
transB : int
+
Whether B should be transposed on the last two dimensions before doing multiplication
+
+ +#### Inputs + +
+
A : T
+
N-dimensional matrix A
+
B : T
+
N-dimensional matrix B
+
+ +#### Outputs + +
+
Y : T
+
Matrix multiply results
+
+ +#### Type Constraints + +
+
T : tensor(float16), tensor(float), tensor(double), tensor(bfloat16)
+
Constrain input and output types to float tensors.
+
### **com.microsoft.Trilu** diff --git a/onnxruntime/core/graph/contrib_ops/contrib_defs.cc b/onnxruntime/core/graph/contrib_ops/contrib_defs.cc index 5635965995..a81aefd961 100644 --- a/onnxruntime/core/graph/contrib_ops/contrib_defs.cc +++ b/onnxruntime/core/graph/contrib_ops/contrib_defs.cc @@ -1879,7 +1879,7 @@ Matrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy- }); static const char* TransposeMatMul_doc = R"DOC( -Deprecated. Going forward FusedMatMul should be used. This OP will be supported for backward compatibility. +Duplicate of FusedMatMul. Going forward FusedMatMul should be used. This OP will be supported for backward compatibility. Matrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html )DOC"; @@ -1917,37 +1917,6 @@ Matrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy- FusedMatMulShapeInference(ctx); }); - ONNX_CONTRIB_OPERATOR_SCHEMA(TransposeMatMul) - .SetDomain(kMSDomain) - .SinceVersion(2) - .Deprecate() - .Input(0, "A", "N-dimensional matrix A", "T") - .Input(1, "B", "N-dimensional matrix B", "T") - .Attr( - "alpha", - "Scalar multiplier for the product of the input tensors.", - AttributeProto::FLOAT, - 1.0f) - .Attr( - "transA", - "Whether A should be transposed on the last two dimensions before doing multiplication", - AttributeProto::INT, - static_cast(0)) - .Attr( - "transB", - "Whether B should be transposed on the last two dimensions before doing multiplication", - AttributeProto::INT, - static_cast(0)) - .Output(0, "Y", "Matrix multiply results", "T") - .TypeConstraint( - "T", - {"tensor(float16)", "tensor(float)", "tensor(double)", "tensor(bfloat16)"}, - "Constrain input and output types to float tensors.") - .SetDoc(TransposeMatMul_doc) - .TypeAndShapeInferenceFunction([](ONNX_NAMESPACE::InferenceContext& ctx) { - FusedMatMulShapeInference(ctx); - }); - ONNX_CONTRIB_OPERATOR_SCHEMA(FusedMatMul) .SetDomain(kMSDomain) .SinceVersion(1) diff --git a/onnxruntime/core/session/environment.cc b/onnxruntime/core/session/environment.cc index 4e183f4157..d42785e314 100644 --- a/onnxruntime/core/session/environment.cc +++ b/onnxruntime/core/session/environment.cc @@ -92,7 +92,7 @@ Status Environment::Initialize(std::unique_ptr logging_ #if !defined(ORT_MINIMAL_BUILD) // Register Microsoft domain with min/max op_set version as 1/1. std::call_once(schemaRegistrationOnceFlag, []() { - ONNX_NAMESPACE::OpSchemaRegistry::DomainToVersionRange::Instance().AddDomainToVersion(onnxruntime::kMSDomain, 1, 2); + ONNX_NAMESPACE::OpSchemaRegistry::DomainToVersionRange::Instance().AddDomainToVersion(onnxruntime::kMSDomain, 1, 1); ONNX_NAMESPACE::OpSchemaRegistry::DomainToVersionRange::Instance().AddDomainToVersion(onnxruntime::kMSNchwcDomain, 1, 1); ONNX_NAMESPACE::OpSchemaRegistry::DomainToVersionRange::Instance().AddDomainToVersion(onnxruntime::kMSFeaturizersDomain, 1, 1); #ifdef USE_DML diff --git a/onnxruntime/test/contrib_ops/fused_matmul_op_test.cc b/onnxruntime/test/contrib_ops/fused_matmul_op_test.cc index c41c6cbc1b..1a4dcc755b 100644 --- a/onnxruntime/test/contrib_ops/fused_matmul_op_test.cc +++ b/onnxruntime/test/contrib_ops/fused_matmul_op_test.cc @@ -218,24 +218,6 @@ TEST(TransposeMatMulOpTest, FloatTypeScale) { RunFusedMatMulTest("TransposeMatMul", 1, true, true, 4.0f, true); } -TEST(TransposeMatMulOpTest, DeprecatedSchema) { - OpTester test("TransposeMatMul", 2, onnxruntime::kMSDomain); - - std::vector input0_dims{3, 4}; - std::vector input0_vals{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; - - std::vector input1_dims{4, 3}; - std::vector input1_vals{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; - - test.AddInput("A", input0_dims, input0_vals); - test.AddInput("B", input1_dims, input1_vals); - test.AddOutput("Y", {3, 3}, {42, 48, 54, 114, 136, 158, 186, 224, 262}); - - // TransposeMatMul is deprecated from version 2 onwards of ms domain. - test.Run(OpTester::ExpectResult::kExpectFailure); -} - - } // namespace transpose_matmul } // namespace test } // namespace onnxruntime