From b4d7eaef418bfda0b939c757b6206570f70aff8e Mon Sep 17 00:00:00 2001 From: Jim Flynn Date: Wed, 1 May 2019 14:44:27 +0100 Subject: IVGCVSW-3039 Unify BindingPointInfo declarations Change-Id: I3deb2b9a37e8a8f8f2ed93c64ed0656ae911e24c Signed-off-by: Jim Flynn --- include/armnn/Tensor.hpp | 2 + include/armnnCaffeParser/ICaffeParser.hpp | 2 +- include/armnnOnnxParser/IOnnxParser.hpp | 2 +- include/armnnTfLiteParser/ITfLiteParser.hpp | 3 +- include/armnnTfParser/ITfParser.hpp | 2 +- src/armnnCaffeParser/CaffeParser.hpp | 2 - .../test/ParserFlatbuffersSerializeFixture.hpp | 11 +++--- src/armnnOnnxParser/OnnxParser.hpp | 1 - .../test/ParserFlatbuffersFixture.hpp | 12 ++---- src/armnnTfParser/TfParser.hpp | 2 - src/armnnUtils/ParserPrototxtFixture.hpp | 8 ++-- tests/InferenceModel.hpp | 44 ++++++++++------------ .../MultipleNetworksCifar10.cpp | 5 +-- 13 files changed, 40 insertions(+), 56 deletions(-) diff --git a/include/armnn/Tensor.hpp b/include/armnn/Tensor.hpp index 160ccca79c..3cde1ad9ab 100644 --- a/include/armnn/Tensor.hpp +++ b/include/armnn/Tensor.hpp @@ -101,6 +101,8 @@ private: } m_Quantization; }; +using BindingPointInfo = std::pair; + template class BaseTensor { diff --git a/include/armnnCaffeParser/ICaffeParser.hpp b/include/armnnCaffeParser/ICaffeParser.hpp index 9d885f5e1f..62a7b8cd69 100644 --- a/include/armnnCaffeParser/ICaffeParser.hpp +++ b/include/armnnCaffeParser/ICaffeParser.hpp @@ -16,7 +16,7 @@ namespace armnnCaffeParser { -using BindingPointInfo = std::pair; +using BindingPointInfo = armnn::BindingPointInfo; class ICaffeParser; using ICaffeParserPtr = std::unique_ptr; diff --git a/include/armnnOnnxParser/IOnnxParser.hpp b/include/armnnOnnxParser/IOnnxParser.hpp index 40b47a597b..d6b9399dd5 100644 --- a/include/armnnOnnxParser/IOnnxParser.hpp +++ b/include/armnnOnnxParser/IOnnxParser.hpp @@ -14,7 +14,7 @@ namespace armnnOnnxParser { -using BindingPointInfo = std::pair; +using BindingPointInfo = armnn::BindingPointInfo; class IOnnxParser; using IOnnxParserPtr = std::unique_ptr; diff --git a/include/armnnTfLiteParser/ITfLiteParser.hpp b/include/armnnTfLiteParser/ITfLiteParser.hpp index c591876c90..36b9246ee5 100644 --- a/include/armnnTfLiteParser/ITfLiteParser.hpp +++ b/include/armnnTfLiteParser/ITfLiteParser.hpp @@ -16,8 +16,7 @@ namespace armnnTfLiteParser { -// TODO: revise this: do we really need this for every parser??? -using BindingPointInfo = std::pair; +using BindingPointInfo = armnn::BindingPointInfo; class ITfLiteParser; using ITfLiteParserPtr = std::unique_ptr; diff --git a/include/armnnTfParser/ITfParser.hpp b/include/armnnTfParser/ITfParser.hpp index e5bbc7ceea..ce85ec7e2f 100644 --- a/include/armnnTfParser/ITfParser.hpp +++ b/include/armnnTfParser/ITfParser.hpp @@ -16,7 +16,7 @@ namespace armnnTfParser { -using BindingPointInfo = std::pair; +using BindingPointInfo = armnn::BindingPointInfo; class ITfParser; using ITfParserPtr = std::unique_ptr; diff --git a/src/armnnCaffeParser/CaffeParser.hpp b/src/armnnCaffeParser/CaffeParser.hpp index 30da04e7c1..f28b3a4889 100644 --- a/src/armnnCaffeParser/CaffeParser.hpp +++ b/src/armnnCaffeParser/CaffeParser.hpp @@ -23,8 +23,6 @@ class NetParameter; namespace armnnCaffeParser { -using BindingPointInfo = std::pair; - class CaffeParserBase: public ICaffeParser { public: diff --git a/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp b/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp index 038cce4da2..fef2409074 100644 --- a/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp +++ b/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp @@ -203,8 +203,6 @@ void ParserFlatbuffersSerializeFixture::RunTest( const std::map>& inputData, const std::map>& expectedOutputData) { - using BindingPointInfo = std::pair; - auto ConvertBindingInfo = [](const armnnDeserializer::BindingPointInfo& bindingInfo) { return std::make_pair(bindingInfo.m_BindingId, bindingInfo.m_TensorInfo); @@ -214,7 +212,8 @@ void ParserFlatbuffersSerializeFixture::RunTest( armnn::InputTensors inputTensors; for (auto&& it : inputData) { - BindingPointInfo bindingInfo = ConvertBindingInfo(m_Parser->GetNetworkInputBindingInfo(layersId, it.first)); + armnn::BindingPointInfo bindingInfo = ConvertBindingInfo( + m_Parser->GetNetworkInputBindingInfo(layersId, it.first)); armnn::VerifyTensorInfoDataType(bindingInfo.second, ArmnnInputType); inputTensors.push_back({ bindingInfo.first, armnn::ConstTensor(bindingInfo.second, it.second.data()) }); } @@ -224,7 +223,8 @@ void ParserFlatbuffersSerializeFixture::RunTest( armnn::OutputTensors outputTensors; for (auto&& it : expectedOutputData) { - BindingPointInfo bindingInfo = ConvertBindingInfo(m_Parser->GetNetworkOutputBindingInfo(layersId, it.first)); + armnn::BindingPointInfo bindingInfo = ConvertBindingInfo( + m_Parser->GetNetworkOutputBindingInfo(layersId, it.first)); armnn::VerifyTensorInfoDataType(bindingInfo.second, ArmnnOutputType); outputStorage.emplace(it.first, MakeTensor(bindingInfo.second)); outputTensors.push_back( @@ -236,7 +236,8 @@ void ParserFlatbuffersSerializeFixture::RunTest( // Compare each output tensor to the expected values for (auto&& it : expectedOutputData) { - BindingPointInfo bindingInfo = ConvertBindingInfo(m_Parser->GetNetworkOutputBindingInfo(layersId, it.first)); + armnn::BindingPointInfo bindingInfo = ConvertBindingInfo( + m_Parser->GetNetworkOutputBindingInfo(layersId, it.first)); auto outputExpected = MakeTensor(bindingInfo.second, it.second); BOOST_TEST(CompareTensors(outputExpected, outputStorage[it.first])); } diff --git a/src/armnnOnnxParser/OnnxParser.hpp b/src/armnnOnnxParser/OnnxParser.hpp index ed7e54afaa..91927c24a8 100644 --- a/src/armnnOnnxParser/OnnxParser.hpp +++ b/src/armnnOnnxParser/OnnxParser.hpp @@ -19,7 +19,6 @@ class TensorInfo; namespace armnnOnnxParser { -using BindingPointInfo = std::pair; using ModelPtr = std::unique_ptr; class OnnxParser : public IOnnxParser diff --git a/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp b/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp index 69c5ec1767..fdd8b82f85 100644 --- a/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp +++ b/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp @@ -255,13 +255,11 @@ void ParserFlatbuffersFixture::RunTest(size_t subgraphId, const std::map>& inputData, const std::map>& expectedOutputData) { - using BindingPointInfo = std::pair; - // Setup the armnn input tensors from the given vectors. armnn::InputTensors inputTensors; for (auto&& it : inputData) { - BindingPointInfo bindingInfo = m_Parser->GetNetworkInputBindingInfo(subgraphId, it.first); + armnn::BindingPointInfo bindingInfo = m_Parser->GetNetworkInputBindingInfo(subgraphId, it.first); armnn::VerifyTensorInfoDataType(bindingInfo.second, armnnType1); inputTensors.push_back({ bindingInfo.first, armnn::ConstTensor(bindingInfo.second, it.second.data()) }); } @@ -293,7 +291,7 @@ void ParserFlatbuffersFixture::RunTest(size_t subgraphId, // Compare each output tensor to the expected values for (auto&& it : expectedOutputData) { - BindingPointInfo bindingInfo = m_Parser->GetNetworkOutputBindingInfo(subgraphId, it.first); + armnn::BindingPointInfo bindingInfo = m_Parser->GetNetworkOutputBindingInfo(subgraphId, it.first); auto outputExpected = MakeTensor(bindingInfo.second, it.second); BOOST_TEST(CompareTensors(outputExpected, outputStorage[it.first])); } @@ -311,13 +309,11 @@ void ParserFlatbuffersFixture::RunTest(std::size_t subgraphId, const std::map>& inputData, const std::map>& expectedOutputData) { - using BindingPointInfo = std::pair; - // Setup the armnn input tensors from the given vectors. armnn::InputTensors inputTensors; for (auto&& it : inputData) { - BindingPointInfo bindingInfo = m_Parser->GetNetworkInputBindingInfo(subgraphId, it.first); + armnn::BindingPointInfo bindingInfo = m_Parser->GetNetworkInputBindingInfo(subgraphId, it.first); armnn::VerifyTensorInfoDataType(bindingInfo.second, armnnType1); inputTensors.push_back({ bindingInfo.first, armnn::ConstTensor(bindingInfo.second, it.second.data()) }); @@ -328,7 +324,7 @@ void ParserFlatbuffersFixture::RunTest(std::size_t subgraphId, std::map> outputStorage; for (auto&& it : expectedOutputData) { - BindingPointInfo bindingInfo = m_Parser->GetNetworkOutputBindingInfo(subgraphId, it.first); + armnn::BindingPointInfo bindingInfo = m_Parser->GetNetworkOutputBindingInfo(subgraphId, it.first); armnn::VerifyTensorInfoDataType(bindingInfo.second, armnnType2); std::vector out(it.second.size()); diff --git a/src/armnnTfParser/TfParser.hpp b/src/armnnTfParser/TfParser.hpp index 95ccf397c1..8442ca0fb3 100644 --- a/src/armnnTfParser/TfParser.hpp +++ b/src/armnnTfParser/TfParser.hpp @@ -31,8 +31,6 @@ class NodeDef; namespace armnnTfParser { -using BindingPointInfo = std::pair; - class ParsedTfOperation; using ParsedTfOperationPtr = std::unique_ptr; diff --git a/src/armnnUtils/ParserPrototxtFixture.hpp b/src/armnnUtils/ParserPrototxtFixture.hpp index 7ae0742b8e..6af989e46f 100644 --- a/src/armnnUtils/ParserPrototxtFixture.hpp +++ b/src/armnnUtils/ParserPrototxtFixture.hpp @@ -187,13 +187,11 @@ template void ParserPrototxtFixture::RunTest(const std::map>& inputData, const std::map>& expectedOutputData) { - using BindingPointInfo = std::pair; - // Sets up the armnn input tensors from the given vectors. armnn::InputTensors inputTensors; for (auto&& it : inputData) { - BindingPointInfo bindingInfo = m_Parser->GetNetworkInputBindingInfo(it.first); + armnn::BindingPointInfo bindingInfo = m_Parser->GetNetworkInputBindingInfo(it.first); inputTensors.push_back({ bindingInfo.first, armnn::ConstTensor(bindingInfo.second, it.second.data()) }); } @@ -202,7 +200,7 @@ void ParserPrototxtFixture::RunTest(const std::mapGetNetworkOutputBindingInfo(it.first); + armnn::BindingPointInfo bindingInfo = m_Parser->GetNetworkOutputBindingInfo(it.first); outputStorage.emplace(it.first, MakeTensor(bindingInfo.second)); outputTensors.push_back( { bindingInfo.first, armnn::Tensor(bindingInfo.second, outputStorage.at(it.first).data()) }); @@ -213,7 +211,7 @@ void ParserPrototxtFixture::RunTest(const std::mapGetNetworkOutputBindingInfo(it.first); + armnn::BindingPointInfo bindingInfo = m_Parser->GetNetworkOutputBindingInfo(it.first); if (bindingInfo.second.GetNumElements() != it.second.size()) { throw armnn::Exception( diff --git a/tests/InferenceModel.hpp b/tests/InferenceModel.hpp index fa71b3035e..d2d2ca3c8e 100644 --- a/tests/InferenceModel.hpp +++ b/tests/InferenceModel.hpp @@ -74,9 +74,7 @@ inline bool CheckRequestedBackendsAreValid(const std::vector& namespace InferenceModelInternal { -// This needs to go when the armnnCaffeParser, armnnTfParser and armnnTfLiteParser -// definitions of BindingPointInfo gets consolidated. -using BindingPointInfo = std::pair; +using BindingPointInfo = armnn::BindingPointInfo; using QuantizationParams = std::pair; @@ -108,11 +106,10 @@ struct CreateNetworkImpl { public: using Params = InferenceModelInternal::Params; - using BindingPointInfo = InferenceModelInternal::BindingPointInfo; static armnn::INetworkPtr Create(const Params& params, - std::vector& inputBindings, - std::vector& outputBindings) + std::vector& inputBindings, + std::vector& outputBindings) { const std::string& modelPath = params.m_ModelPath; @@ -169,11 +166,10 @@ struct CreateNetworkImpl public: using IParser = armnnDeserializer::IDeserializer; using Params = InferenceModelInternal::Params; - using BindingPointInfo = InferenceModelInternal::BindingPointInfo; static armnn::INetworkPtr Create(const Params& params, - std::vector& inputBindings, - std::vector& outputBindings) + std::vector& inputBindings, + std::vector& outputBindings) { auto parser(IParser::Create()); BOOST_ASSERT(parser); @@ -226,11 +222,10 @@ struct CreateNetworkImpl public: using IParser = armnnTfLiteParser::ITfLiteParser; using Params = InferenceModelInternal::Params; - using BindingPointInfo = InferenceModelInternal::BindingPointInfo; static armnn::INetworkPtr Create(const Params& params, - std::vector& inputBindings, - std::vector& outputBindings) + std::vector& inputBindings, + std::vector& outputBindings) { const std::string& modelPath = params.m_ModelPath; @@ -246,14 +241,14 @@ public: for (const std::string& inputLayerName : params.m_InputBindings) { - BindingPointInfo inputBinding = + armnn::BindingPointInfo inputBinding = parser->GetNetworkInputBindingInfo(params.m_SubgraphId, inputLayerName); inputBindings.push_back(inputBinding); } for (const std::string& outputLayerName : params.m_OutputBindings) { - BindingPointInfo outputBinding = + armnn::BindingPointInfo outputBinding = parser->GetNetworkOutputBindingInfo(params.m_SubgraphId, outputLayerName); outputBindings.push_back(outputBinding); } @@ -309,7 +304,7 @@ public: template inline armnn::InputTensors MakeInputTensors( - const std::vector& inputBindings, + const std::vector& inputBindings, const std::vector& inputDataContainers) { armnn::InputTensors inputTensors; @@ -323,7 +318,7 @@ inline armnn::InputTensors MakeInputTensors( for (size_t i = 0; i < numInputs; i++) { - const InferenceModelInternal::BindingPointInfo& inputBinding = inputBindings[i]; + const armnn::BindingPointInfo& inputBinding = inputBindings[i]; const TContainer& inputData = inputDataContainers[i]; boost::apply_visitor([&](auto&& value) @@ -344,7 +339,7 @@ inline armnn::InputTensors MakeInputTensors( template inline armnn::OutputTensors MakeOutputTensors( - const std::vector& outputBindings, + const std::vector& outputBindings, std::vector& outputDataContainers) { armnn::OutputTensors outputTensors; @@ -358,7 +353,7 @@ inline armnn::OutputTensors MakeOutputTensors( for (size_t i = 0; i < numOutputs; i++) { - const InferenceModelInternal::BindingPointInfo& outputBinding = outputBindings[i]; + const armnn::BindingPointInfo& outputBinding = outputBindings[i]; TContainer& outputData = outputDataContainers[i]; boost::apply_visitor([&](auto&& value) @@ -383,7 +378,6 @@ class InferenceModel public: using DataType = TDataType; using Params = InferenceModelInternal::Params; - using BindingPointInfo = InferenceModelInternal::BindingPointInfo; using QuantizationParams = InferenceModelInternal::QuantizationParams; using TContainer = boost::variant, std::vector, std::vector>; @@ -564,24 +558,24 @@ public: } } - const BindingPointInfo& GetInputBindingInfo(unsigned int inputIndex = 0u) const + const armnn::BindingPointInfo& GetInputBindingInfo(unsigned int inputIndex = 0u) const { CheckInputIndexIsValid(inputIndex); return m_InputBindings[inputIndex]; } - const std::vector& GetInputBindingInfos() const + const std::vector& GetInputBindingInfos() const { return m_InputBindings; } - const BindingPointInfo& GetOutputBindingInfo(unsigned int outputIndex = 0u) const + const armnn::BindingPointInfo& GetOutputBindingInfo(unsigned int outputIndex = 0u) const { CheckOutputIndexIsValid(outputIndex); return m_OutputBindings[outputIndex]; } - const std::vector& GetOutputBindingInfos() const + const std::vector& GetOutputBindingInfos() const { return m_OutputBindings; } @@ -614,8 +608,8 @@ private: armnn::NetworkId m_NetworkIdentifier; std::shared_ptr m_Runtime; - std::vector m_InputBindings; - std::vector m_OutputBindings; + std::vector m_InputBindings; + std::vector m_OutputBindings; bool m_EnableProfiling; template diff --git a/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp b/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp index 2bbfb69c8d..006318f73a 100644 --- a/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp +++ b/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp @@ -186,9 +186,8 @@ int main(int argc, char* argv[]) for (unsigned int k = 0; k < networksCount; ++k) { - using BindingPointInfo = InferenceModelInternal::BindingPointInfo; - std::vector inputBindings = { networks[k].m_InputBindingInfo }; - std::vector outputBindings = { networks[k].m_OutputBindingInfo }; + std::vector inputBindings = { networks[k].m_InputBindingInfo }; + std::vector outputBindings = { networks[k].m_OutputBindingInfo }; std::vector inputDataContainers = { testCaseData->m_InputImage }; std::vector outputDataContainers = { outputs[k] }; -- cgit v1.2.1