aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/layers/ReduceLayer.cpp
diff options
context:
space:
mode:
authorDeclan-ARM <decmce01@arm.com>2024-03-12 16:40:25 +0000
committerColm Donelan <colm.donelan@arm.com>2024-03-13 10:07:56 +0000
commit7c75e336fbeeec052a1cb90c68d1caece332c176 (patch)
tree8fac689c1b4192522f5fa98bccbfab12b8e08afe /src/armnn/layers/ReduceLayer.cpp
parent93bbf00d968101fb9a9174ad011b655ca7100546 (diff)
downloadarmnn-7c75e336fbeeec052a1cb90c68d1caece332c176.tar.gz
IVGCVSW-7853 Assert audit and removal
* src/armnn * src/armnn/layers Signed-off-by: Declan-ARM <decmce01@arm.com> Change-Id: Ic78cbbb59e90fbb15f893205a358c45264243721
Diffstat (limited to 'src/armnn/layers/ReduceLayer.cpp')
-rw-r--r--src/armnn/layers/ReduceLayer.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/armnn/layers/ReduceLayer.cpp b/src/armnn/layers/ReduceLayer.cpp
index 21095dda74..bebd043e9b 100644
--- a/src/armnn/layers/ReduceLayer.cpp
+++ b/src/armnn/layers/ReduceLayer.cpp
@@ -1,6 +1,6 @@
//
// Copyright © 2020 Samsung Electronics Co Ltd and Contributors. All rights reserved.
-// Copyright © 2023 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2023-2024 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
@@ -51,8 +51,10 @@ void ReduceLayer::ValidateTensorShapesFromInputs()
const TensorInfo& input = GetInputSlot(0).GetTensorInfo();
- ARMNN_ASSERT_MSG(input.GetNumDimensions() > 0 && input.GetNumDimensions() <= 4,
- "ReduceLayer: Reduce supports up to 4D input.");
+ if (auto inputDims = input.GetNumDimensions(); inputDims != std::clamp(inputDims, 1u, 4u))
+ {
+ throw armnn::LayerValidationException("ReduceLayer: Reduce supports up to 4D input.");
+ }
std::vector<TensorShape> inferredShapes = InferOutputShapes( {input.GetShape() });
@@ -61,11 +63,18 @@ void ReduceLayer::ValidateTensorShapesFromInputs()
std::vector<TensorShape> ReduceLayer::InferOutputShapes(const std::vector<TensorShape>& inputShapes) const
{
- ARMNN_ASSERT(inputShapes.size() == 1);
+ if (inputShapes.size() != 1)
+ {
+ throw armnn::Exception("inputShapes' size is \"" + std::to_string(inputShapes.size()) +
+ "\" - should be \"1\".");
+ }
+
const TensorShape& input = inputShapes[0];
- ARMNN_ASSERT_MSG(input.GetNumDimensions() > 0 && input.GetNumDimensions() <= 4,
- "ReduceLayer: Reduce supports up to 4D input.");
+ if (auto inputDims = input.GetNumDimensions(); inputDims != std::clamp(inputDims, 1u, 4u))
+ {
+ throw armnn::Exception("ReduceLayer: Reduce supports up to 4D input.");
+ }
unsigned int rank = input.GetNumDimensions();
unsigned int outputRank = 0;