diff options
author | Keith Davis <keith.davis@arm.com> | 2022-04-07 11:32:00 +0100 |
---|---|---|
committer | Ryan OShea <ryan.oshea3@arm.com> | 2022-05-19 11:05:15 +0100 |
commit | 2cddc72f7aa1eab43c69250e608d662909383ba7 (patch) | |
tree | 62c531bb82b96c14469c151c3738e1e0383e5972 /include | |
parent | 85edad42b8b76e76c5d969e4bc380b0e8a845c9b (diff) | |
download | armnn-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 'include')
-rw-r--r-- | include/armnn/Descriptors.hpp | 2 | ||||
-rw-r--r-- | include/armnn/ILayerVisitor.hpp | 10 | ||||
-rw-r--r-- | include/armnn/INetwork.hpp | 15 | ||||
-rw-r--r-- | include/armnn/LayerVisitorBase.hpp | 4 |
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__); } |