ArmNN
 21.02
PassThru.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #include <boost/test/unit_test.hpp>
8 
9 BOOST_AUTO_TEST_SUITE(TensorflowParser)
10 
11 struct PassThruFixture : public armnnUtils::ParserPrototxtFixture<armnnTfParser::ITfParser>
12 {
13  PassThruFixture()
14  {
15  m_Prototext = "node {\n"
16  " name: \"Placeholder\"\n"
17  " op: \"Placeholder\"\n"
18  " attr {\n"
19  " key: \"dtype\"\n"
20  " value {\n"
21  " type: DT_FLOAT\n"
22  " }\n"
23  " }\n"
24  " attr {\n"
25  " key: \"shape\"\n"
26  " value {\n"
27  " shape {\n"
28  " }\n"
29  " }\n"
30  " }\n"
31  "}\n";
32  SetupSingleInputSingleOutput({ 1, 7 }, "Placeholder", "Placeholder");
33  }
34 };
35 
36 BOOST_FIXTURE_TEST_CASE(ValidateOutput, PassThruFixture)
37 {
38  BOOST_TEST(m_Parser->GetNetworkOutputBindingInfo("Placeholder").second.GetNumDimensions() == 2);
39  BOOST_TEST(m_Parser->GetNetworkOutputBindingInfo("Placeholder").second.GetShape()[0] == 1);
40  BOOST_TEST(m_Parser->GetNetworkOutputBindingInfo("Placeholder").second.GetShape()[1] == 7);
41 }
42 
43 BOOST_FIXTURE_TEST_CASE(RunGraph, PassThruFixture)
44 {
45  armnn::TensorInfo inputTensorInfo = m_Parser->GetNetworkInputBindingInfo("Placeholder").second;
46  auto input = MakeRandomTensor<float, 2>(inputTensorInfo, 378346);
47  std::vector<float> inputVec;
48  inputVec.assign(input.data(), input.data() + input.num_elements());
49  RunTest<2>(inputVec, inputVec); // The passthru network should output the same as the input.
50 }
51 
BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
BOOST_AUTO_TEST_SUITE_END()
BOOST_FIXTURE_TEST_CASE(ValidateOutput, PassThruFixture)
Definition: PassThru.cpp:36
void SetupSingleInputSingleOutput(const std::string &inputName, const std::string &outputName)
Parses and loads the network defined by the m_Prototext string.