diff options
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); |