From aa85092b51ced97507d7fec12c4c67d6d376aac7 Mon Sep 17 00:00:00 2001 From: Dwayne Robinson Date: Fri, 19 Aug 2022 08:56:03 -0700 Subject: [PATCH] DML EP squeeze all axes when empty (#12649) DML EP squeeze empty axes --- .../providers/dml/OperatorAuthorHelper/OperatorHelper.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/onnxruntime/core/providers/dml/OperatorAuthorHelper/OperatorHelper.cpp b/onnxruntime/core/providers/dml/OperatorAuthorHelper/OperatorHelper.cpp index 7ac27f6598..859655f94b 100644 --- a/onnxruntime/core/providers/dml/OperatorAuthorHelper/OperatorHelper.cpp +++ b/onnxruntime/core/providers/dml/OperatorAuthorHelper/OperatorHelper.cpp @@ -1852,8 +1852,14 @@ namespace OperatorHelper m_axes = kernelInformation.GetAttributes().GetOptionalAttributeVectorInt32(AttrName::Axes); } std::vector inputDimensions = shapeInformation.GetInputTensorShape(0); + HandleNegativeAxes(/*inout*/ m_axes, gsl::narrow_cast(inputDimensions.size())); std::sort(m_axes.begin(), m_axes.end()); + if (m_axes.empty()) + { + m_axes.resize(inputDimensions.size()); + std::iota(m_axes.begin(), m_axes.end(), 0u); + } } std::vector SqueezeHelper::GetOutputShapes(const MLShapeInferenceContext& shapeInfo) const