diff options
author | David Monahan <david.monahan@arm.com> | 2020-05-30 09:48:39 +0100 |
---|---|---|
committer | David Monahan <david.monahan@arm.com> | 2020-05-30 11:35:48 +0100 |
commit | 4a0c9b99deb88a0ec5de7997f09062686915c6cc (patch) | |
tree | 0456d14c0222c9a70ee1ba41f8b0ce384f4f25ad /src/armnnSerializer | |
parent | f540eb8111ce5d241111da487be7d817661e29b4 (diff) | |
download | armnn-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.fbs | 4 | ||||
-rw-r--r-- | src/armnnSerializer/Serializer.cpp | 8 | ||||
-rw-r--r-- | src/armnnSerializer/test/SerializerTests.cpp | 14 |
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); |