diff options
Diffstat (limited to 'src/armnn/layers/MergeLayer.cpp')
-rw-r--r-- | src/armnn/layers/MergeLayer.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/armnn/layers/MergeLayer.cpp b/src/armnn/layers/MergeLayer.cpp index b05eb68d25..d8351c6c40 100644 --- a/src/armnn/layers/MergeLayer.cpp +++ b/src/armnn/layers/MergeLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright © 2017 Arm Ltd. All rights reserved. +// Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #include "MergeLayer.hpp" @@ -29,10 +29,12 @@ MergeLayer* MergeLayer::Clone(Graph& graph) const void MergeLayer::ValidateTensorShapesFromInputs(ShapeInferenceMethod shapeInferenceMethod) { - IgnoreUnused(shapeInferenceMethod); - VerifyLayerConnections(2, CHECK_LOCATION()); + const TensorShape& outputShape = GetOutputSlot(0).GetTensorInfo().GetShape(); + + VerifyShapeInferenceType(outputShape, shapeInferenceMethod); + std::vector<TensorShape> inferredShapes = InferOutputShapes({ GetInputSlot(0).GetConnection()->GetTensorInfo().GetShape(), GetInputSlot(1).GetConnection()->GetTensorInfo().GetShape(), @@ -40,10 +42,7 @@ void MergeLayer::ValidateTensorShapesFromInputs(ShapeInferenceMethod shapeInfere ARMNN_ASSERT(inferredShapes.size() == 1); - ConditionalThrowIfNotEqual<LayerValidationException>( - "MergeLayer: TensorShape set on OutputSlot[0] does not match the inferred shape.", - GetOutputSlot(0).GetTensorInfo().GetShape(), - inferredShapes[0]); + ValidateAndCopyShape(outputShape, inferredShapes[0], shapeInferenceMethod, "MergeLayer"); } std::vector<TensorShape> MergeLayer::InferOutputShapes(const std::vector<TensorShape>& inputShapes) const |