aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKeith Davis <keith.davis@arm.com>2022-04-07 11:32:00 +0100
committerKeith Davis <keith.davis@arm.com>2022-05-16 16:08:54 +0100
commitb4dd5cc86d4eb841de670f0f102ede599e0d9c40 (patch)
tree77857cf739baecaf63701b66c1a2646b7930a834 /include
parentb86ec6641b4b06ccddad5eebbc21010d6184fe79 (diff)
downloadarmnn-b4dd5cc86d4eb841de670f0f102ede599e0d9c40.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 'include')
-rw-r--r--include/armnn/Descriptors.hpp2
-rw-r--r--include/armnn/ILayerVisitor.hpp10
-rw-r--r--include/armnn/INetwork.hpp15
-rw-r--r--include/armnn/LayerVisitorBase.hpp4
4 files changed, 27 insertions, 4 deletions
diff --git a/include/armnn/Descriptors.hpp b/include/armnn/Descriptors.hpp
index 4aa23a4ee0..7f46c6a79d 100644
--- a/include/armnn/Descriptors.hpp
+++ b/include/armnn/Descriptors.hpp
@@ -524,6 +524,8 @@ struct Convolution2dDescriptor : BaseDescriptor
m_BiasEnabled == rhs.m_BiasEnabled &&
m_DataLayout == rhs.m_DataLayout;
}
+ uint32_t GetNumInputs() const;
+
/// Padding left value in the width dimension.
uint32_t m_PadLeft;
diff --git a/include/armnn/ILayerVisitor.hpp b/include/armnn/ILayerVisitor.hpp
index d5e3d11fbd..a0c782e66e 100644
--- a/include/armnn/ILayerVisitor.hpp
+++ b/include/armnn/ILayerVisitor.hpp
@@ -102,9 +102,19 @@ public:
/// function is invoked.
/// @param layer - pointer to the layer which is calling back to this visit function.
/// @param convolution2dDescriptor - Description of the 2D convolution layer.
+ /// @param name - Optional name for the layer.
+ virtual void VisitConvolution2dLayer(const IConnectableLayer* layer,
+ const Convolution2dDescriptor& convolution2dDescriptor,
+ const char* name = nullptr) = 0;
+
+ /// Function that a 2D convolution layer should call back to when its Accept(ILayerVisitor&)
+ /// function is invoked.
+ /// @param layer - pointer to the layer which is calling back to this visit function.
+ /// @param convolution2dDescriptor - Description of the 2D convolution layer.
/// @param weights - Tensor for the weights data.
/// @param biases - Optional tensor for the bias data. If specified, must match the output tensor shape.
/// @param name - Optional name for the layer.
+ ARMNN_DEPRECATED_MSG("Use VisitConvolution2dLayer without ConstTensors")
virtual void VisitConvolution2dLayer(const IConnectableLayer* layer,
const Convolution2dDescriptor& convolution2dDescriptor,
const ConstTensor& weights,
diff --git a/include/armnn/INetwork.hpp b/include/armnn/INetwork.hpp
index 1d6276bfe7..89b4776d39 100644
--- a/include/armnn/INetwork.hpp
+++ b/include/armnn/INetwork.hpp
@@ -42,7 +42,7 @@ class IOutputSlot
public:
virtual unsigned int GetNumConnections() const = 0;
virtual const IInputSlot* GetConnection(unsigned int index) const = 0;
- virtual IInputSlot* GetConnection(unsigned int index) = 0;
+ virtual IInputSlot* GetConnection(unsigned int outputindex) = 0;
virtual void SetTensorInfo(const TensorInfo& tensorInfo) = 0;
virtual const TensorInfo& GetTensorInfo() const = 0;
@@ -293,10 +293,18 @@ public:
/// Adds a 2D convolution layer to the network.
/// @param convolution2dDescriptor - Description of the 2D convolution layer.
+ /// @param name - Optional name for the layer.
+ /// @return - Interface for configuring the layer.
+ IConnectableLayer* AddConvolution2dLayer(const Convolution2dDescriptor& convolution2dDescriptor,
+ const char* name = nullptr);
+
+ /// Adds a 2D convolution layer to the network.
+ /// @param convolution2dDescriptor - Description of the 2D convolution layer.
/// @param weights - Tensor for the weights data.
/// @param biases - Optional tensor for the bias data. If specified, must match the output tensor shape.
/// @param name - Optional name for the layer.
/// @return - Interface for configuring the layer.
+ ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This AddConvolution2dLayer overload is deprecated", "22.08")
IConnectableLayer* AddConvolution2dLayer(const Convolution2dDescriptor& convolution2dDescriptor,
const ConstTensor& weights,
const Optional<ConstTensor>& biases,
@@ -331,9 +339,8 @@ public:
/// @param convolution2dDescriptor - Description of the 2D depthwise convolution layer.
/// @param name - Optional name for the layer.
/// @return - Interface for configuring the layer.
- IConnectableLayer* AddDepthwiseConvolution2dLayer(
- const DepthwiseConvolution2dDescriptor& convolution2dDescriptor,
- const char* name = nullptr);
+ IConnectableLayer* AddDepthwiseConvolution2dLayer(const DepthwiseConvolution2dDescriptor& convolution2dDescriptor,
+ const char* name = nullptr);
/// Adds a 2D depthwise convolution layer to the network.
/// @param convolution2dDescriptor - Description of the 2D depthwise convolution layer.
diff --git a/include/armnn/LayerVisitorBase.hpp b/include/armnn/LayerVisitorBase.hpp
index acc8aa00b3..025fca7eb0 100644
--- a/include/armnn/LayerVisitorBase.hpp
+++ b/include/armnn/LayerVisitorBase.hpp
@@ -72,6 +72,10 @@ public:
const Optional<ConstTensor>&,
const char*) override { DefaultPolicy::Apply(__func__); }
+ void VisitConvolution2dLayer(const IConnectableLayer*,
+ const Convolution2dDescriptor&,
+ const char*) override { DefaultPolicy::Apply(__func__); }
+
void VisitDepthToSpaceLayer(const IConnectableLayer*,
const DepthToSpaceDescriptor&,
const char*) override { DefaultPolicy::Apply(__func__); }