From f6ba747c0802d87ba30aecd598f0603f9bd18576 Mon Sep 17 00:00:00 2001 From: jimfly01 Date: Tue, 4 Dec 2018 10:09:52 +0000 Subject: IVGCVSW-2296 Add ParsePad method to TfParser * Also added unit test armnnTfParser/test/Pad.cpp * Added missing 'Pad' entry to GetLayerTypeAsCString(LayerType) * Fixed the RefLayerSupport.IsPadSupported, now it returns true * Small fix in Optimize. Only resolve stringstream to string once Change-Id: Ieaa1886858a48cd761ac5f30454f73e44bdd4b8f --- src/armnnTfParser/test/Pad.cpp | 107 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 src/armnnTfParser/test/Pad.cpp (limited to 'src/armnnTfParser/test/Pad.cpp') diff --git a/src/armnnTfParser/test/Pad.cpp b/src/armnnTfParser/test/Pad.cpp new file mode 100644 index 0000000000..8bfe970dfa --- /dev/null +++ b/src/armnnTfParser/test/Pad.cpp @@ -0,0 +1,107 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#include +#include "armnnTfParser/ITfParser.hpp" +#include "ParserPrototxtFixture.hpp" + +BOOST_AUTO_TEST_SUITE(TensorflowParser) + +struct PadFixture : public armnnUtils::ParserPrototxtFixture +{ + PadFixture() { + m_Prototext = "node {\n" + " name: \"input\"\n" + " op: \"Placeholder\"\n" + " attr {\n" + " key: \"dtype\"\n" + " value {\n" + " type: DT_FLOAT\n" + " }\n" + " }\n" + " attr {\n" + " key: \"shape\"\n" + " value {\n" + " shape {\n" + " dim {\n" + " size: -1\n" + " }\n" + " dim {\n" + " size: 2\n" + " }\n" + " dim {\n" + " size: 2\n" + " }\n" + " dim {\n" + " size: 2\n" + " }\n" + " }\n" + " }\n" + " }\n" + "}\n" + "node {\n" + " name: \"Pad/paddings\"\n" + " op: \"Const\"\n" + " attr {\n" + " key: \"dtype\"\n" + " value {\n" + " type: DT_INT32\n" + " }\n" + " }\n" + " attr {\n" + " key: \"value\"\n" + " value {\n" + " tensor {\n" + " dtype: DT_INT32\n" + " tensor_shape {\n" + " dim {\n" + " size: 4\n" + " }\n" + " dim {\n" + " size: 2\n" + " }\n" + " }\n" + " tensor_content: \"\\000\\000\\000\\000\\000\\000\\000\\000" + "\\001\\000\\000\\000\\001\\000\\000\\000" + "\\001\\000\\000\\000\\001\\000\\000\\000" + "\\000\\000\\000\\000\\000\\000\\000\\000\"\n" + " }\n" + " }\n" + " }\n" + "}\n" + "node {\n" + " name: \"Pad\"\n" + " op: \"Pad\"\n" + " input: \"input\"\n" + " input: \"Pad/paddings\"\n" + " attr {\n" + " key: \"T\"\n" + " value {\n" + " type: DT_FLOAT\n" + " }\n" + " }\n" + " attr {\n" + " key: \"Tpaddings\"\n" + " value {\n" + " type: DT_INT32\n" + " }\n" + " }\n" + "}"; + + SetupSingleInputSingleOutput({1, 2, 2, 2}, "input", "Pad"); + } +}; + +BOOST_FIXTURE_TEST_CASE(ParsePad, PadFixture) +{ + RunTest<4>({ 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f }, + { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 5.0f, 6.0f, 7.0f, 8.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, + }); +} + +BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file -- cgit v1.2.1