From 381f5029c643a3c7c2bfa3454a6673c9dedf2fd0 Mon Sep 17 00:00:00 2001 From: Jim Flynn Date: Tue, 23 Mar 2021 14:20:19 +0000 Subject: Revert "Fold PAD into Pooling2d" This reverts commit 51ce7d487c761358de105f82ff90553570aedac0. Reason for revert: https://jira.arm.com/browse/IVGCVSW-5798 LargeGraph_TENSOR_FLOAT32 CTS tests failures Change-Id: Ib031a47f605340b2202ecf074ce96a8b54c51075 --- src/armnn/test/OptimizerTests.cpp | 85 +-------------------------------------- 1 file changed, 1 insertion(+), 84 deletions(-) (limited to 'src/armnn/test/OptimizerTests.cpp') diff --git a/src/armnn/test/OptimizerTests.cpp b/src/armnn/test/OptimizerTests.cpp index f0d132a561..fa860abb64 100644 --- a/src/armnn/test/OptimizerTests.cpp +++ b/src/armnn/test/OptimizerTests.cpp @@ -624,89 +624,6 @@ BOOST_AUTO_TEST_CASE(FoldPadLayerIntoConvolution2dLayer) &IsLayerOfType)); } -BOOST_AUTO_TEST_CASE(FoldPadLayerIntoPooling2dLayer) -{ - Graph graph; - const unsigned int inputShape[] = { 1, 2, 2, 3 }; - const unsigned int paddedShape[] = { 1, 3, 3, 3 }; - const unsigned int outputShape[] = { 1, 2, 2, 3 }; - - armnn::TensorInfo inputInfo(4, inputShape, DataType::Float32); - armnn::TensorInfo paddedInfo(4, paddedShape, DataType::Float32); - armnn::TensorInfo outputInfo(4, outputShape, DataType::Float32); - - Layer* input = graph.AddLayer(0, "input"); - input->GetOutputSlot().SetTensorInfo(inputInfo); - - PadDescriptor padDescriptor({{ 0, 0 }, { 1, 1 }, { 1, 1 }, { 0, 0 }}); - - PadLayer* padLayer = graph.AddLayer(padDescriptor, "pad"); - padLayer->GetOutputSlot().SetTensorInfo(paddedInfo); - - Pooling2dDescriptor pooling2dDescriptor; - pooling2dDescriptor.m_PoolWidth = 3; - pooling2dDescriptor.m_PoolHeight = 3; - pooling2dDescriptor.m_StrideX = 1; - pooling2dDescriptor.m_StrideY = 1; - pooling2dDescriptor.m_DataLayout = DataLayout::NHWC; - - Pooling2dLayer* pool2dLayer = graph.AddLayer(pooling2dDescriptor, "pool2d"); - pool2dLayer->GetOutputSlot().SetTensorInfo(outputInfo); - - Layer* output = graph.AddLayer(0, "output"); - - // Connect up layers - input -> pad -> pool2d -> output - input->GetOutputSlot().Connect(padLayer->GetInputSlot(0)); - padLayer->GetOutputSlot().Connect(pool2dLayer->GetInputSlot(0)); - pool2dLayer->GetOutputSlot().Connect(output->GetInputSlot(0)); - - auto checkSimplePool2d = [&](const armnn::Layer* const layer) - { - const auto pool2dLayer = static_cast(layer); - return IsLayerOfType(layer) && - (layer->GetNameStr() == "pool2d") && - (pool2dLayer->GetParameters() == pooling2dDescriptor); - }; - - BOOST_TEST(CheckSequence(graph.cbegin(), - graph.cend(), - &IsLayerOfType, - &IsLayerOfType, - checkSimplePool2d, - &IsLayerOfType)); - - armnn::Optimizer::Pass(graph, armnn::MakeOptimizations(FoldPadIntoPooling2d())); - - auto checkPadFoldedIntoPool2d = [&](const armnn::Layer* const layer) - { - if (!IsLayerOfType(layer) || (layer->GetNameStr() != "folded-pad-into-pool2d")) - { - return false; - } - - const auto pool2dLayer = static_cast(layer); - const Pooling2dDescriptor pool2dLayerParams = pool2dLayer->GetParameters(); - - Pooling2dDescriptor pool2dLayerParamsNoPad = pool2dLayerParams; - pool2dLayerParamsNoPad.m_PadLeft = 0; - pool2dLayerParamsNoPad.m_PadRight = 0; - pool2dLayerParamsNoPad.m_PadTop = 0; - pool2dLayerParamsNoPad.m_PadBottom = 0; - - return (pool2dLayerParamsNoPad == pooling2dDescriptor) && - (pool2dLayerParams.m_PadLeft == 1) && - (pool2dLayerParams.m_PadRight == 1) && - (pool2dLayerParams.m_PadTop == 1) && - (pool2dLayerParams.m_PadBottom == 1); - }; - - BOOST_TEST(CheckSequence(graph.cbegin(), - graph.cend(), - &IsLayerOfType, - checkPadFoldedIntoPool2d, - &IsLayerOfType)); -} - class MockLayerSupport : public LayerSupportBase { public: bool IsInputSupported(const TensorInfo& /*input*/, @@ -995,4 +912,4 @@ BOOST_AUTO_TEST_CASE(OptimizeForExclusiveConnectionsWithoutFuseTest) &IsLayerOfType, &IsLayerOfType)); } -BOOST_AUTO_TEST_SUITE_END() +BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file -- cgit v1.2.1