aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatteo Martincigh <matteo.martincigh@arm.com>2018-10-01 09:26:32 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-22 17:25:39 +0100
commit5e0ed9fb1e86a45617c65376c4756b8317798e5e (patch)
treeefca199088261cb937e8a32b0ee0841e70a9672c
parentbeb3e1f460012f98921fc88488b6349f95c6e1d5 (diff)
downloadandroid-nn-driver-5e0ed9fb1e86a45617c65376c4756b8317798e5e.tar.gz
IVGCVSW-1875 Proper support for NHWC L2Normalization
* Removed input/output swizzling from ConvertL2Normalization Change-Id: I623d878617614aec4d1f41556839808e6184a350
-rw-r--r--1.0/HalPolicy.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/1.0/HalPolicy.cpp b/1.0/HalPolicy.cpp
index 82a8c447..174bbb3f 100644
--- a/1.0/HalPolicy.cpp
+++ b/1.0/HalPolicy.cpp
@@ -1083,16 +1083,14 @@ bool HalPolicy::ConvertL2Normalization(const Operation& operation, const Model&
const armnn::TensorInfo& inputInfo = input.GetTensorInfo();
const armnn::TensorInfo& outputInfo = GetTensorInfoForOperand(*output);
- const armnn::TensorInfo swizzledInputInfo = armnnUtils::Permuted(inputInfo, NHWCToArmNN);
- const armnn::TensorInfo swizzledOutputInfo = armnnUtils::Permuted(outputInfo, NHWCToArmNN);
-
armnn::L2NormalizationDescriptor desc;
+ desc.m_DataLayout = armnn::DataLayout::NHWC;
if (!IsLayerSupported(__func__,
armnn::IsL2NormalizationSupported,
data.m_Compute,
- swizzledInputInfo,
- swizzledOutputInfo,
+ inputInfo,
+ outputInfo,
desc))
{
return false;
@@ -1100,11 +1098,9 @@ bool HalPolicy::ConvertL2Normalization(const Operation& operation, const Model&
armnn::IConnectableLayer* layer = data.m_Network->AddL2NormalizationLayer(desc);
assert(layer != nullptr);
- layer->GetOutputSlot(0).SetTensorInfo(swizzledOutputInfo);
-
- armnn::IConnectableLayer& outSwizzleLayer = SwizzleInDeswizzleOut(*data.m_Network, input, *layer);
+ input.Connect(layer->GetInputSlot(0));
- return SetupAndTrackLayerOutputSlot(operation, 0, outSwizzleLayer, model, data);
+ return SetupAndTrackLayerOutputSlot(operation, 0, *layer, model, data);
}
bool HalPolicy::ConvertL2Pool2d(const Operation& operation, const Model& model, ConversionData& data)