From: David Monahan Date: Tue, 31 Mar 2020 11:19:57 +0000 (+0100) Subject: IVGCVSW-4531 Tweak to an existing fix for failing NNT tests on Android R X-Git-Tag: submit/tizen/20200730.023729~141 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7a7ca576d117b0f433ddb796de3dbcb96a3bb991;p=platform%2Fupstream%2Farmnn.git IVGCVSW-4531 Tweak to an existing fix for failing NNT tests on Android R HAL 1.1/1.2 to account for negative slices Signed-off-by: David Monahan Change-Id: Ia98101b07b826359fb621b801fcbc811d7ec6f6a --- diff --git a/src/armnn/layers/StridedSliceLayer.cpp b/src/armnn/layers/StridedSliceLayer.cpp index dd4f942..c31b9a4 100644 --- a/src/armnn/layers/StridedSliceLayer.cpp +++ b/src/armnn/layers/StridedSliceLayer.cpp @@ -58,11 +58,12 @@ std::vector StridedSliceLayer::InferOutputShapes( if (m_Param.m_ShrinkAxisMask & (1 << i)) { - // Don't take a slice from an axis being shrunk - if (m_Param.m_End[i] >= 2) + // If the difference between the start point and the end point of the slice on an axis being shrunk + // is greater than 1 then throw an error as the output will not be large enough to hold the slice + if (((m_Param.m_Begin[i] - m_Param.m_End[i]) > 1) || ((m_Param.m_Begin[i] - m_Param.m_End[i]) < -1)) { throw LayerValidationException( - "StridedSlice: Attempting to take slice from an axis being shrunk"); + "StridedSlice: Attempting to take a larger slice than can fit in inferred output"); } continue; }