diff options
author | telsoa01 <telmo.soares@arm.com> | 2018-03-09 14:13:49 +0000 |
---|---|---|
committer | telsoa01 <telmo.soares@arm.com> | 2018-03-09 14:13:49 +0000 |
commit | 4fcda0101ec3d110c1d6d7bee5c83416b645528a (patch) | |
tree | c9a70aeb2887006160c1b3d265c27efadb7bdbae /src/armnnCaffeParser/test/TestInPlace.cpp | |
download | armnn-4fcda0101ec3d110c1d6d7bee5c83416b645528a.tar.gz |
Release 18.02
Change-Id: Id3c11dc5ee94ef664374a988fcc6901e9a232fa6
Diffstat (limited to 'src/armnnCaffeParser/test/TestInPlace.cpp')
-rw-r--r-- | src/armnnCaffeParser/test/TestInPlace.cpp | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/src/armnnCaffeParser/test/TestInPlace.cpp b/src/armnnCaffeParser/test/TestInPlace.cpp new file mode 100644 index 0000000000..3954baa75b --- /dev/null +++ b/src/armnnCaffeParser/test/TestInPlace.cpp @@ -0,0 +1,98 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// See LICENSE file in the project root for full license information. +// +#include <boost/test/unit_test.hpp> +#include "armnnCaffeParser/ICaffeParser.hpp" +#include "ParserPrototxtFixture.hpp" + +BOOST_AUTO_TEST_SUITE(CaffeParser) + +// The pooling layer should take its input from the relu, not the add directly. +struct InPlaceFixture : public ParserPrototxtFixture<armnnCaffeParser::ICaffeParser> +{ + InPlaceFixture() + { + m_Prototext = R"( +name: "InPlace" +layer { + name: "data" + type: "Input" + top: "data" + input_param { shape: { dim: 1 dim: 1 dim: 1 dim: 1 } } +} +layer { + bottom: "data" + bottom: "data" + top: "add" + name: "add" + type: "Eltwise" +} +layer { + name: "relu" + type: "ReLU" + bottom: "add" + top: "relu" + phase: TEST +} +layer { + name: "pool" + type: "Pooling" + bottom: "relu" + top: "pool" + phase: TEST + pooling_param { + pool: MAX + kernel_size: 1 + stride: 1 + } +} + )"; + SetupSingleInputSingleOutput("data", "pool"); + } +}; + +BOOST_FIXTURE_TEST_CASE(ParseInPlace, InPlaceFixture) +{ + RunTest<1>({ -1.0f }, { 0.0f }); +} + +// The requested output of the network is a layer which has an activation attached. +// The output of the network should therefore actually be the activation layer. +struct InPlaceOutputFixture : public ParserPrototxtFixture<armnnCaffeParser::ICaffeParser> +{ + InPlaceOutputFixture() + { + m_Prototext = R"( +name: "InPlace" +layer { + name: "data" + type: "Input" + top: "data" + input_param { shape: { dim: 1 dim: 1 dim: 1 dim: 1 } } +} +layer { + bottom: "data" + bottom: "data" + top: "add" + name: "add" + type: "Eltwise" +} +layer { + name: "relu" + type: "ReLU" + bottom: "add" + top: "add" + phase: TEST +} + )"; + SetupSingleInputSingleOutput("data", "add"); + } +}; + +BOOST_FIXTURE_TEST_CASE(InPlaceOutput, InPlaceOutputFixture) +{ + RunTest<1>({ -1.0f }, { 0.0f }); +} + +BOOST_AUTO_TEST_SUITE_END() |