// // 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 LocalResponseNormalizationBaseFixture : public armnnUtils::ParserPrototxtFixture { explicit LocalResponseNormalizationBaseFixture(float alpha, float beta, float bias) { std::string alphaString = std::to_string(alpha); std::string betaString = std::to_string(beta); std::string biasString = std::to_string(bias); m_Prototext = "node {" " name: \"Placeholder\"" " op: \"Placeholder\"" " attr {" " key: \"dtype\"" " value {" " type: DT_FLOAT" " }" " }" " attr {" " key: \"shape\"" " value {" " shape {" " unknown_rank: true" " }" " }" " }" "}" "node {" " name: \"LRN\"" " op: \"LRN\"" " input: \"Placeholder\"" " attr {" " key: \"T\"" " value {" " type: DT_FLOAT" " }" " }" " attr {" " key: \"alpha\"" " value {" " f: "; m_Prototext.append(alphaString); m_Prototext.append("\n" " }" " }" " attr {" " key: \"beta\"" " value {" " f: "); m_Prototext.append(betaString); m_Prototext.append("\n" " }" " }" " attr {" " key: \"bias\"" " value {" " f: "); m_Prototext.append(biasString); m_Prototext.append("\n" " }" " }" " attr {" " key: \"depth_radius\"" " value {" " i: 1" " }" " }" "}"); } }; struct LocalResponseNormalizationFixtureSimple : public LocalResponseNormalizationBaseFixture { explicit LocalResponseNormalizationFixtureSimple() : LocalResponseNormalizationBaseFixture(1.0f, 1.0f, 1.0f) { SetupSingleInputSingleOutput({ 2, 2, 2, 1 }, "Placeholder", "LRN"); } }; BOOST_FIXTURE_TEST_CASE(ParseSimpleLocalResponseNormalization, LocalResponseNormalizationFixtureSimple) { RunTest<4>({ 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f }, { 0.5f, 0.4f, 0.3f, 0.23529412f, 0.1923077f, 0.16216217f, 0.14f, 0.12307692f }); } struct LocalResponseNormalizationFixture : public LocalResponseNormalizationBaseFixture { explicit LocalResponseNormalizationFixture() : LocalResponseNormalizationBaseFixture(0.5f, 1.0f, 0.5f) { SetupSingleInputSingleOutput({1, 3, 3, 2}, "Placeholder", "LRN"); } }; BOOST_FIXTURE_TEST_CASE(ParseLocalResponseNormalization, LocalResponseNormalizationFixture) { RunTest<4>({ 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f}, {0.333333340f, 0.66666670f, 0.230769250f, 0.307692320f, 0.161290320f, 0.19354838f, 0.122807020f, 0.14035088f, 0.098901100f, 0.109890110f, 0.082706770f, 0.09022556f, 0.071038246f, 0.07650273f, 0.062240668f, 0.066390045f, 0.055374593f, 0.05863192f}); } BOOST_AUTO_TEST_SUITE_END()