diff options
author | Mike Kelly <mike.kelly@arm.com> | 2023-08-04 13:35:41 +0100 |
---|---|---|
committer | mike.kelly <mike.kelly@arm.com> | 2023-08-10 15:45:09 +0000 |
commit | 4980e21193f0a14fef084a7f4b4197392f3c0845 (patch) | |
tree | 544abd9d77d5eb776114d380ddba854d583b10ca /src/backends/aclCommon | |
parent | 8259941977ce51254b32d5ff54bffc26a06c4780 (diff) | |
download | armnn-4980e21193f0a14fef084a7f4b4197392f3c0845.tar.gz |
MLCE-1093 Reshape and concat invalid results
!android-nn-driver:10089
* Disabled SubTensors on CL and Neon Backends.
* Added Axis to ViewsDescriptor to store the value where ever possible.
* Updated Splitter tests to provide all the information needed in the
Descriptor.
* Updated Serializer and Deserializer to handle axis.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I6a22d4750e04003689495b5e9e3c33deb37162bd
Diffstat (limited to 'src/backends/aclCommon')
-rw-r--r-- | src/backends/aclCommon/ArmComputeUtils.hpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/backends/aclCommon/ArmComputeUtils.hpp b/src/backends/aclCommon/ArmComputeUtils.hpp index fc59b281b5..9552b7620a 100644 --- a/src/backends/aclCommon/ArmComputeUtils.hpp +++ b/src/backends/aclCommon/ArmComputeUtils.hpp @@ -9,6 +9,7 @@ #include <armnn/utility/Assert.hpp> #include <armnn/utility/NumericCast.hpp> #include <armnn/backends/WorkloadData.hpp> +#include <armnnUtils/TensorUtils.hpp> #include <arm_compute/runtime/FunctionDescriptors.h> #include <arm_compute/function_info/FullyConnectedLayerInfo.h> @@ -247,13 +248,20 @@ inline std::set<unsigned int> ComputeSplitAxis(const armnn::SplitterDescriptor& unsigned int numDimensions = desc.GetNumDimensions(); std::set<unsigned int> splitAxis; - for (unsigned int i = 0; i < numSplit; ++i) + if (desc.HasAxis()) { - for (unsigned int dimIdx = 0; dimIdx < numDimensions; ++dimIdx) + splitAxis.insert(armnnUtils::GetUnsignedAxis(desc.GetNumDimensions(), desc.GetAxis())); + } + else + { + for (unsigned int i = 0; i < numSplit; ++i) { - if (desc.GetViewSizes(i)[dimIdx] != input[dimIdx]) + for (unsigned int dimIdx = 0; dimIdx < numDimensions; ++dimIdx) { - splitAxis.insert(dimIdx); + if (desc.GetViewSizes(i)[dimIdx] != input[dimIdx]) + { + splitAxis.insert(dimIdx); + } } } } |