aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMatthew Sloyan <matthew.sloyan@arm.com>2021-10-18 13:07:49 +0100
committerMatthew Sloyan <matthew.sloyan@arm.com>2021-10-20 16:03:04 +0100
commit5d7b0a314b3e354a6cbcf15f5dd78b50f1e02774 (patch)
tree3d844c4575193ffddfe3a17c51cb808c9f16ddb0 /include
parent73010788725f8f07efb6df20711ece712ee213ea (diff)
downloadarmnn-5d7b0a314b3e354a6cbcf15f5dd78b50f1e02774.tar.gz
Add ConstTensorsAsInput support for Conv3d
* Constant weights and biases are now stored as Constant layers. * Updated Serializer, Deserializer and unit tests to reflect this. * Updated TfLiteParser. * Updated Ref backend to handle constant weights and bias as inputs rather than reading from member variables. * Added Conv3d EndToEnd test. * Added NCDHW DataLayout and unit tests. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I10cdd354ca5f1c748730f92ffdb36bf810f83c8e
Diffstat (limited to 'include')
-rw-r--r--include/armnn/Descriptors.hpp5
-rw-r--r--include/armnn/INetwork.hpp4
-rw-r--r--include/armnn/Types.hpp3
-rw-r--r--include/armnn/TypesUtils.hpp1
4 files changed, 7 insertions, 6 deletions
diff --git a/include/armnn/Descriptors.hpp b/include/armnn/Descriptors.hpp
index b412bbdcc9..39ea824045 100644
--- a/include/armnn/Descriptors.hpp
+++ b/include/armnn/Descriptors.hpp
@@ -498,6 +498,9 @@ struct Convolution3dDescriptor : BaseDescriptor
m_DataLayout == rhs.m_DataLayout;
}
+ /// Get the number of views/inputs.
+ uint32_t GetNumInputs() const;
+
/// Padding left value in the width dimension.
uint32_t m_PadLeft;
/// Padding right value in the width dimension.
@@ -524,7 +527,7 @@ struct Convolution3dDescriptor : BaseDescriptor
uint32_t m_DilationZ;
/// Enable/disable bias.
bool m_BiasEnabled;
- /// The data layout to be used (NDHWC).
+ /// The data layout to be used (NDHWC, NCDHW).
DataLayout m_DataLayout;
};
diff --git a/include/armnn/INetwork.hpp b/include/armnn/INetwork.hpp
index ab92f05112..707ae00bb3 100644
--- a/include/armnn/INetwork.hpp
+++ b/include/armnn/INetwork.hpp
@@ -258,13 +258,9 @@ public:
/// Adds a 3D convolution layer to the network.
/// @param convolution3dDescriptor - Description of the 3D 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.
IConnectableLayer* AddConvolution3dLayer(const Convolution3dDescriptor& convolution3dDescriptor,
- const ConstTensor& weights,
- const Optional<ConstTensor>& biases,
const char* name = nullptr);
/// Adds a depth to space layer to the network.
diff --git a/include/armnn/Types.hpp b/include/armnn/Types.hpp
index 7f2e192102..4f39ebe16a 100644
--- a/include/armnn/Types.hpp
+++ b/include/armnn/Types.hpp
@@ -50,7 +50,8 @@ enum class DataLayout
{
NCHW = 1,
NHWC = 2,
- NDHWC = 3
+ NDHWC = 3,
+ NCDHW = 4
};
/// Define the behaviour of the internal profiler when outputting network details
diff --git a/include/armnn/TypesUtils.hpp b/include/armnn/TypesUtils.hpp
index d08f592d86..a1c11b74df 100644
--- a/include/armnn/TypesUtils.hpp
+++ b/include/armnn/TypesUtils.hpp
@@ -215,6 +215,7 @@ constexpr const char* GetDataLayoutName(DataLayout dataLayout)
case DataLayout::NCHW: return "NCHW";
case DataLayout::NHWC: return "NHWC";
case DataLayout::NDHWC: return "NDHWC";
+ case DataLayout::NCDHW: return "NCDHW";
default: return "Unknown";
}
}