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