aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/Layer.cpp
diff options
context:
space:
mode:
authorKeith Davis <keith.davis@arm.com>2022-04-07 11:32:00 +0100
committerRyan OShea <ryan.oshea3@arm.com>2022-05-19 11:05:15 +0100
commit2cddc72f7aa1eab43c69250e608d662909383ba7 (patch)
tree62c531bb82b96c14469c151c3738e1e0383e5972 /src/armnn/Layer.cpp
parent85edad42b8b76e76c5d969e4bc380b0e8a845c9b (diff)
downloadarmnn-2cddc72f7aa1eab43c69250e608d662909383ba7.tar.gz
IVGCVSW-6124 ConstTensorsAsInput: Conv2d - FrontEnd
* Update Front-end and Tools. * Updated Serializer, Deserializer and unit tests to reflect this. * Updated TfLiteDelegate, TfLiteParser and OnnxParser. * Updated Ref. * Fixed resulting Neon / CL tests * Unified optimizers for conv2d ops * Optimizer Fix - Fp32ToBf16 * Partial implementation for ACL backends to fix VTS failures !android-nn-driver:7477 Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I5fb18877f7ee32643e15a9818945356274bb401b
Diffstat (limited to 'src/armnn/Layer.cpp')
-rw-r--r--src/armnn/Layer.cpp37
1 files changed, 16 insertions, 21 deletions
diff --git a/src/armnn/Layer.cpp b/src/armnn/Layer.cpp
index a31119b395..3241b5024e 100644
--- a/src/armnn/Layer.cpp
+++ b/src/armnn/Layer.cpp
@@ -23,16 +23,23 @@ namespace armnn
// Instantiate the static member variable
NullDescriptor Layer::m_NullDescriptor;
-template <typename LayerT>
-void AssertMultipleInputSlots(Layer& layer)
+void AssertNumberOfInputSlots(Layer& layer)
{
- if(PolymorphicDowncast<const LayerT*>(&(layer.GetParameters()))->m_BiasEnabled)
+ switch (layer.GetType())
{
- ARMNN_ASSERT(layer.GetNumInputSlots() == 3);
- }
- else
- {
- ARMNN_ASSERT(layer.GetNumInputSlots() == 2);
+ case LayerType::Convolution2d:
+ case LayerType::DepthwiseConvolution2d:
+ case LayerType::FullyConnected:
+ {
+ ARMNN_ASSERT(layer.GetNumInputSlots() == 2 ||
+ layer.GetNumInputSlots() == 3);
+ break;
+ }
+ default:
+ {
+ ARMNN_ASSERT(layer.GetNumInputSlots() == 1);
+ break;
+ }
}
}
@@ -47,19 +54,7 @@ void InputSlot::Insert(Layer& layer)
// Disconnects parent from this.
prevSlot->Disconnect(*this);
- switch (layer.GetType())
- {
- case LayerType::DepthwiseConvolution2d:
- {
- AssertMultipleInputSlots<DepthwiseConvolution2dDescriptor>(layer);
- break;
- }
- default:
- {
- ARMNN_ASSERT(layer.GetNumInputSlots() == 1);
- break;
- }
- }
+ AssertNumberOfInputSlots(layer);
// Connects inserted layer to parent.
int idx = prevSlot->Connect(layer.GetInputSlot(0));