From 169d2f120cc9021f170fede22a448fd6b66fc979 Mon Sep 17 00:00:00 2001 From: Aron Virginas-Tar Date: Mon, 1 Jul 2019 19:01:44 +0100 Subject: IVGCVSW-3382 Deprecate ResizeBilinear and use Resize with Bilinear method !android-nn-driver:1451 Signed-off-by: Aron Virginas-Tar Change-Id: Ieedbce1f6e95891137a250fdd07e2f7e4e1f4828 --- src/armnn/test/CreateWorkload.hpp | 29 ++++++------- src/armnn/test/OptimizerTests.cpp | 13 +++--- src/armnn/test/QuantizerTest.cpp | 48 +--------------------- .../test/TestNameAndDescriptorLayerVisitor.cpp | 18 ++++---- .../test/TestNameAndDescriptorLayerVisitor.hpp | 30 +++++++------- 5 files changed, 48 insertions(+), 90 deletions(-) (limited to 'src/armnn/test') diff --git a/src/armnn/test/CreateWorkload.hpp b/src/armnn/test/CreateWorkload.hpp index 0048646d45..774df6a4bb 100644 --- a/src/armnn/test/CreateWorkload.hpp +++ b/src/armnn/test/CreateWorkload.hpp @@ -836,10 +836,10 @@ void CreateSplitterMultipleInputsOneOutputWorkloadTest(armnn::IWorkloadFactory& wlActiv1_1 = std::move(workloadActiv1_1); } -template -std::unique_ptr CreateResizeBilinearWorkloadTest(armnn::IWorkloadFactory& factory, - armnn::Graph& graph, - DataLayout dataLayout = DataLayout::NCHW) +template +std::unique_ptr CreateResizeBilinearWorkloadTest(armnn::IWorkloadFactory& factory, + armnn::Graph& graph, + DataLayout dataLayout = DataLayout::NCHW) { TensorShape inputShape; TensorShape outputShape; @@ -856,15 +856,16 @@ std::unique_ptr CreateResizeBilinearWorkloadTest(armnn:: } // Creates the layer we're testing. - ResizeBilinearDescriptor resizeDesc; + ResizeDescriptor resizeDesc; armnnUtils::DataLayoutIndexed dimensionIndices = dataLayout; - resizeDesc.m_TargetWidth = outputShape[dimensionIndices.GetWidthIndex()]; + resizeDesc.m_Method = ResizeMethod::Bilinear; + resizeDesc.m_TargetWidth = outputShape[dimensionIndices.GetWidthIndex()]; resizeDesc.m_TargetHeight = outputShape[dimensionIndices.GetHeightIndex()]; - resizeDesc.m_DataLayout = dataLayout; - Layer* const layer = graph.AddLayer(resizeDesc, "layer"); + resizeDesc.m_DataLayout = dataLayout; + Layer* const layer = graph.AddLayer(resizeDesc, "resize"); // Creates extra layers. - Layer* const input = graph.AddLayer(0, "input"); + Layer* const input = graph.AddLayer(0, "input"); Layer* const output = graph.AddLayer(0, "output"); // Connects up. @@ -875,12 +876,12 @@ std::unique_ptr CreateResizeBilinearWorkloadTest(armnn:: CreateTensorHandles(graph, factory); // Makes the workload and checks it. - auto workload = MakeAndCheckWorkload(*layer, graph, factory); + auto workload = MakeAndCheckWorkload(*layer, graph, factory); - ResizeBilinearQueueDescriptor queueDescriptor = workload->GetData(); - BOOST_TEST(queueDescriptor.m_Inputs.size() == 1); - BOOST_TEST(queueDescriptor.m_Outputs.size() == 1); - BOOST_TEST((queueDescriptor.m_Parameters.m_DataLayout == dataLayout)); + auto queueDescriptor = workload->GetData(); + BOOST_CHECK(queueDescriptor.m_Inputs.size() == 1); + BOOST_CHECK(queueDescriptor.m_Outputs.size() == 1); + BOOST_CHECK(queueDescriptor.m_Parameters.m_DataLayout == dataLayout); // Returns so we can do extra, backend-specific tests. return workload; diff --git a/src/armnn/test/OptimizerTests.cpp b/src/armnn/test/OptimizerTests.cpp index 97bd8de651..b06403c8d6 100644 --- a/src/armnn/test/OptimizerTests.cpp +++ b/src/armnn/test/OptimizerTests.cpp @@ -953,18 +953,19 @@ BOOST_AUTO_TEST_CASE(Pooling2dValidateTensorShapesFromInputsNhwc) void CreateResizeBilinearGraph(Graph &graph, const unsigned int* inputShape, const unsigned int* outputShape, DataLayout dataLayout = DataLayout::NCHW) { - armnn::TensorInfo inputInfo(4, inputShape, DataType::Float32); - armnn::TensorInfo outputInfo(4, outputShape, DataType::Float32); + TensorInfo inputInfo(4, inputShape, DataType::Float32); + TensorInfo outputInfo(4, outputShape, DataType::Float32); - ResizeBilinearDescriptor desc; + ResizeDescriptor desc; + desc.m_Method = ResizeMethod::Bilinear; desc.m_TargetHeight = 3; - desc.m_TargetWidth = 4; - desc.m_DataLayout = dataLayout; + desc.m_TargetWidth = 4; + desc.m_DataLayout = dataLayout; Layer* input = graph.AddLayer(0, "input"); input->GetOutputSlot().SetTensorInfo(inputInfo); - ResizeBilinearLayer* layer = graph.AddLayer(desc, "resizeBilinear"); + ResizeLayer* layer = graph.AddLayer(desc, "resizeBilinear"); layer->GetOutputSlot().SetTensorInfo(outputInfo); Layer* output = graph.AddLayer(0, "output"); diff --git a/src/armnn/test/QuantizerTest.cpp b/src/armnn/test/QuantizerTest.cpp index 57f602dbba..09e71ae4e8 100644 --- a/src/armnn/test/QuantizerTest.cpp +++ b/src/armnn/test/QuantizerTest.cpp @@ -1477,52 +1477,6 @@ BOOST_AUTO_TEST_CASE(QuantizeSplitter) VisitLayersTopologically(quantizedNetworkQSymm16.get(), validatorQSymm16); } -BOOST_AUTO_TEST_CASE(QuantizeResizeBilinear) -{ - class TestResizeBilinearQuantization : public TestLeakyReLuActivationQuantization - { - public: - TestResizeBilinearQuantization(const TensorShape& inputShape, const TensorShape& outputShape) - : TestLeakyReLuActivationQuantization(inputShape, outputShape) {} - - TestResizeBilinearQuantization(const QuantizerOptions& options, - const TensorShape& inputShape, - const TensorShape& outputShape) - : TestLeakyReLuActivationQuantization(options, inputShape, outputShape) {} - - void VisitResizeBilinearLayer(const IConnectableLayer* layer, - const ResizeBilinearDescriptor& resizeDescriptor, - const char* name = nullptr) override - { - CheckForwardedQuantizationSettings(layer); - } - }; - - INetworkPtr network = INetwork::Create(); - - const TensorShape shape{1U}; - TensorInfo info(shape, DataType::Float32); - - IConnectableLayer* activation = CreateStartOfLeakyReluNetwork(network.get(), info); - - // Add the layer under test - ResizeBilinearDescriptor descriptor; - descriptor.m_TargetHeight = 3; - descriptor.m_TargetWidth = 3; - IConnectableLayer* spaceToBatch = network->AddResizeBilinearLayer(descriptor); - - CompleteLeakyReluNetwork(network.get(), activation, spaceToBatch, info); - - INetworkPtr quantizedNetworkQAsymm8 = INetworkQuantizer::Create(network.get())->ExportNetwork(); - TestResizeBilinearQuantization validatorQAsymm8(shape, shape); - VisitLayersTopologically(quantizedNetworkQAsymm8.get(), validatorQAsymm8); - - const QuantizerOptions options(DataType::QuantisedSymm16); - INetworkPtr quantizedNetworkQSymm16 = INetworkQuantizer::Create(network.get(), options)->ExportNetwork(); - TestResizeBilinearQuantization validatorQSymm16(options, shape, shape); - VisitLayersTopologically(quantizedNetworkQSymm16.get(), validatorQSymm16); -} - BOOST_AUTO_TEST_CASE(QuantizeResize) { class TestResizeQuantization : public TestLeakyReLuActivationQuantization @@ -1556,7 +1510,7 @@ BOOST_AUTO_TEST_CASE(QuantizeResize) // Add the layer under test ResizeDescriptor descriptor; descriptor.m_TargetHeight = 3; - descriptor.m_TargetWidth = 3; + descriptor.m_TargetWidth = 3; IConnectableLayer* resizeLayer = network->AddResizeLayer(descriptor); CompleteLeakyReluNetwork(network.get(), activation, resizeLayer, info); diff --git a/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp b/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp index 478f0293a4..b841e72060 100644 --- a/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp +++ b/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp @@ -255,30 +255,30 @@ BOOST_AUTO_TEST_CASE(CheckConcatLayerVisitorNameNullAndDescriptor) layer->Accept(visitor); } -BOOST_AUTO_TEST_CASE(CheckResizeBilinearLayerVisitorNameAndDescriptor) +BOOST_AUTO_TEST_CASE(CheckResizeLayerVisitorNameAndDescriptor) { - const char* layerName = "ResizeBilinearLayer"; - ResizeBilinearDescriptor descriptor; + const char* layerName = "ResizeLayer"; + ResizeDescriptor descriptor; descriptor.m_TargetHeight = 1; descriptor.m_TargetWidth = 1; descriptor.m_DataLayout = DataLayout::NHWC; - TestResizeBilinearLayerVisitor visitor(descriptor, layerName); + TestResizeLayerVisitor visitor(descriptor, layerName); Network net; - IConnectableLayer *const layer = net.AddResizeBilinearLayer(descriptor, layerName); + IConnectableLayer *const layer = net.AddResizeLayer(descriptor, layerName); layer->Accept(visitor); } -BOOST_AUTO_TEST_CASE(CheckResizeBilinearLayerVisitorNameNullAndDescriptor) +BOOST_AUTO_TEST_CASE(CheckResizeLayerVisitorNameNullAndDescriptor) { - ResizeBilinearDescriptor descriptor; + ResizeDescriptor descriptor; descriptor.m_TargetHeight = 1; descriptor.m_TargetWidth = 1; descriptor.m_DataLayout = DataLayout::NHWC; - TestResizeBilinearLayerVisitor visitor(descriptor); + TestResizeLayerVisitor visitor(descriptor); Network net; - IConnectableLayer *const layer = net.AddResizeBilinearLayer(descriptor); + IConnectableLayer *const layer = net.AddResizeLayer(descriptor); layer->Accept(visitor); } diff --git a/src/armnn/test/TestNameAndDescriptorLayerVisitor.hpp b/src/armnn/test/TestNameAndDescriptorLayerVisitor.hpp index 0db956d36d..f1936d6847 100644 --- a/src/armnn/test/TestNameAndDescriptorLayerVisitor.hpp +++ b/src/armnn/test/TestNameAndDescriptorLayerVisitor.hpp @@ -385,33 +385,35 @@ public: }; }; -class TestResizeBilinearLayerVisitor : public TestLayerVisitor +class TestResizeLayerVisitor : public TestLayerVisitor { private: - ResizeBilinearDescriptor m_VisitorDescriptor; + ResizeDescriptor m_VisitorDescriptor; public: - explicit TestResizeBilinearLayerVisitor(const ResizeBilinearDescriptor& resizeDesc, const char* name = nullptr) + explicit TestResizeLayerVisitor(const ResizeDescriptor& descriptor, const char* name = nullptr) : TestLayerVisitor(name) { - m_VisitorDescriptor.m_TargetWidth = resizeDesc.m_TargetWidth; - m_VisitorDescriptor.m_TargetHeight = resizeDesc.m_TargetHeight; - m_VisitorDescriptor.m_DataLayout = resizeDesc.m_DataLayout; + m_VisitorDescriptor.m_Method = descriptor.m_Method; + m_VisitorDescriptor.m_TargetWidth = descriptor.m_TargetWidth; + m_VisitorDescriptor.m_TargetHeight = descriptor.m_TargetHeight; + m_VisitorDescriptor.m_DataLayout = descriptor.m_DataLayout; }; - void CheckDescriptor(const ResizeBilinearDescriptor& resizeDesc) + void CheckDescriptor(const ResizeDescriptor& descriptor) { - BOOST_CHECK_EQUAL(resizeDesc.m_TargetWidth, m_VisitorDescriptor.m_TargetWidth); - BOOST_CHECK_EQUAL(resizeDesc.m_TargetHeight, m_VisitorDescriptor.m_TargetHeight); - BOOST_CHECK(resizeDesc.m_DataLayout == m_VisitorDescriptor.m_DataLayout); + BOOST_CHECK(descriptor.m_Method == m_VisitorDescriptor.m_Method); + BOOST_CHECK(descriptor.m_TargetWidth == m_VisitorDescriptor.m_TargetWidth); + BOOST_CHECK(descriptor.m_TargetHeight == m_VisitorDescriptor.m_TargetHeight); + BOOST_CHECK(descriptor.m_DataLayout == m_VisitorDescriptor.m_DataLayout); } - void VisitResizeBilinearLayer(const IConnectableLayer* layer, - const ResizeBilinearDescriptor& resizeDesc, - const char* name = nullptr) override + void VisitResizeLayer(const IConnectableLayer* layer, + const ResizeDescriptor& descriptor, + const char* name = nullptr) override { CheckLayerPointer(layer); - CheckDescriptor(resizeDesc); + CheckDescriptor(descriptor); CheckLayerName(name); }; }; -- cgit v1.2.1