aboutsummaryrefslogtreecommitdiff
path: root/src/armnnSerializer
diff options
context:
space:
mode:
authorDavid Monahan <david.monahan@arm.com>2020-05-30 09:48:39 +0100
committerDavid Monahan <david.monahan@arm.com>2020-05-30 11:35:48 +0100
commit4a0c9b99deb88a0ec5de7997f09062686915c6cc (patch)
tree0456d14c0222c9a70ee1ba41f8b0ce384f4f25ad /src/armnnSerializer
parentf540eb8111ce5d241111da487be7d817661e29b4 (diff)
downloadarmnn-4a0c9b99deb88a0ec5de7997f09062686915c6cc.tar.gz
IVGCVSW-4888 Update Resize Front end for new parameters
* Added AlignCorners and HalfPixelCenters to Resize and ResizeBilinear * Updated Serializer and Serializer tests !android-nn-driver:3280 Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Ice3bb448c239b04323854641525bfe0808c03b2e
Diffstat (limited to 'src/armnnSerializer')
-rw-r--r--src/armnnSerializer/ArmnnSchema.fbs4
-rw-r--r--src/armnnSerializer/Serializer.cpp8
-rw-r--r--src/armnnSerializer/test/SerializerTests.cpp14
3 files changed, 20 insertions, 6 deletions
diff --git a/src/armnnSerializer/ArmnnSchema.fbs b/src/armnnSerializer/ArmnnSchema.fbs
index 6e5ee3f3d3..532c12c706 100644
--- a/src/armnnSerializer/ArmnnSchema.fbs
+++ b/src/armnnSerializer/ArmnnSchema.fbs
@@ -558,6 +558,8 @@ table ResizeBilinearDescriptor {
targetWidth:uint;
targetHeight:uint;
dataLayout:DataLayout;
+ alignCorners:bool;
+ halfPixelCenters:bool;
}
table SliceLayer {
@@ -817,6 +819,8 @@ table ResizeDescriptor {
targetWidth:uint;
method:ResizeMethod = NearestNeighbor;
dataLayout:DataLayout;
+ alignCorners:bool;
+ halfPixelCenters:bool;
}
table StackLayer {
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp
index c4d3cfb5dd..9c62a93e3b 100644
--- a/src/armnnSerializer/Serializer.cpp
+++ b/src/armnnSerializer/Serializer.cpp
@@ -864,7 +864,9 @@ void SerializerVisitor::VisitResizeBilinearLayer(const armnn::IConnectableLayer*
CreateResizeBilinearDescriptor(m_flatBufferBuilder,
resizeDescriptor.m_TargetWidth,
resizeDescriptor.m_TargetHeight,
- GetFlatBufferDataLayout(resizeDescriptor.m_DataLayout));
+ GetFlatBufferDataLayout(resizeDescriptor.m_DataLayout),
+ resizeDescriptor.m_AlignCorners,
+ resizeDescriptor.m_HalfPixelCenters);
auto flatBufferLayer = serializer::CreateResizeBilinearLayer(m_flatBufferBuilder,
flatBufferBaseLayer,
@@ -886,7 +888,9 @@ void SerializerVisitor::VisitResizeLayer(const armnn::IConnectableLayer* layer,
resizeDescriptor.m_TargetHeight,
resizeDescriptor.m_TargetWidth,
GetFlatBufferResizeMethod(resizeDescriptor.m_Method),
- GetFlatBufferDataLayout(resizeDescriptor.m_DataLayout));
+ GetFlatBufferDataLayout(resizeDescriptor.m_DataLayout),
+ resizeDescriptor.m_AlignCorners,
+ resizeDescriptor.m_HalfPixelCenters);
auto flatBufferLayer = serializer::CreateResizeLayer(m_flatBufferBuilder,
flatBufferBaseLayer,
diff --git a/src/armnnSerializer/test/SerializerTests.cpp b/src/armnnSerializer/test/SerializerTests.cpp
index 76ac5a4de2..e7f93c6740 100644
--- a/src/armnnSerializer/test/SerializerTests.cpp
+++ b/src/armnnSerializer/test/SerializerTests.cpp
@@ -2206,6 +2206,8 @@ BOOST_AUTO_TEST_CASE(SerializeResize)
desc.m_TargetWidth = 4;
desc.m_TargetHeight = 2;
desc.m_Method = armnn::ResizeMethod::NearestNeighbor;
+ desc.m_AlignCorners = true;
+ desc.m_HalfPixelCenters = true;
armnn::INetworkPtr network = armnn::INetwork::Create();
armnn::IConnectableLayer* const inputLayer = network->AddInputLayer(0);
@@ -2241,10 +2243,12 @@ public:
{
VerifyNameAndConnections(layer, name);
- BOOST_CHECK(descriptor.m_Method == armnn::ResizeMethod::Bilinear);
- BOOST_CHECK(descriptor.m_TargetWidth == m_Descriptor.m_TargetWidth);
- BOOST_CHECK(descriptor.m_TargetHeight == m_Descriptor.m_TargetHeight);
- BOOST_CHECK(descriptor.m_DataLayout == m_Descriptor.m_DataLayout);
+ BOOST_CHECK(descriptor.m_Method == armnn::ResizeMethod::Bilinear);
+ BOOST_CHECK(descriptor.m_TargetWidth == m_Descriptor.m_TargetWidth);
+ BOOST_CHECK(descriptor.m_TargetHeight == m_Descriptor.m_TargetHeight);
+ BOOST_CHECK(descriptor.m_DataLayout == m_Descriptor.m_DataLayout);
+ BOOST_CHECK(descriptor.m_AlignCorners == m_Descriptor.m_AlignCorners);
+ BOOST_CHECK(descriptor.m_HalfPixelCenters == m_Descriptor.m_HalfPixelCenters);
}
void VisitResizeBilinearLayer(const armnn::IConnectableLayer*,
@@ -2267,6 +2271,8 @@ BOOST_AUTO_TEST_CASE(SerializeResizeBilinear)
armnn::ResizeBilinearDescriptor desc;
desc.m_TargetWidth = 4u;
desc.m_TargetHeight = 2u;
+ desc.m_AlignCorners = true;
+ desc.m_HalfPixelCenters = true;
armnn::INetworkPtr network = armnn::INetwork::Create();
armnn::IConnectableLayer* const inputLayer = network->AddInputLayer(0);