diff options
author | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-10-31 11:02:47 +0000 |
---|---|---|
committer | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-11-01 08:34:47 +0000 |
commit | 9a5f9f2c3b6709003dfb935ecf65150145b9c73b (patch) | |
tree | 6b2fc6a19bf5b2961329798f9cb90f7c5167c784 /src/armnnUtils/TensorIOUtils.hpp | |
parent | 3c9b270064a1b62be3ab78bf7dc4f423366adb54 (diff) | |
download | armnn-9a5f9f2c3b6709003dfb935ecf65150145b9c73b.tar.gz |
GitHub #292 Build the ML-examples using only ArmNN's public frontend API
* Refactoring of some of the public API headers
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I9006fe49945b10a6b83908b05aa4a6556639b491
Diffstat (limited to 'src/armnnUtils/TensorIOUtils.hpp')
-rw-r--r-- | src/armnnUtils/TensorIOUtils.hpp | 67 |
1 files changed, 34 insertions, 33 deletions
diff --git a/src/armnnUtils/TensorIOUtils.hpp b/src/armnnUtils/TensorIOUtils.hpp index 07f3723279..1dc7f21857 100644 --- a/src/armnnUtils/TensorIOUtils.hpp +++ b/src/armnnUtils/TensorIOUtils.hpp @@ -6,7 +6,6 @@ #pragma once #include <armnn/Tensor.hpp> -#include <vector> #include <boost/format.hpp> #include <boost/variant/apply_visitor.hpp> @@ -15,17 +14,18 @@ namespace armnnUtils { template<typename TContainer> -inline armnn::InputTensors MakeInputTensors( - const std::vector<armnn::BindingPointInfo>& inputBindings, - const std::vector<TContainer>& inputDataContainers) +inline armnn::InputTensors MakeInputTensors(const std::vector<armnn::BindingPointInfo>& inputBindings, + const std::vector<TContainer>& inputDataContainers) { armnn::InputTensors inputTensors; const size_t numInputs = inputBindings.size(); if (numInputs != inputDataContainers.size()) { - throw armnn::Exception(boost::str(boost::format("Number of inputs does not match number of " - "tensor data containers: %1% != %2%") % numInputs % inputDataContainers.size())); + throw armnn::Exception(boost::str(boost::format("The number of inputs does not match number of " + "tensor data containers: %1% != %2%") + % numInputs + % inputDataContainers.size())); } for (size_t i = 0; i < numInputs; i++) @@ -34,28 +34,27 @@ inline armnn::InputTensors MakeInputTensors( const TContainer& inputData = inputDataContainers[i]; boost::apply_visitor([&](auto&& value) - { - if (value.size() != inputBinding.second.GetNumElements()) - { - throw armnn::Exception(boost::str(boost::format("Input tensor has incorrect size " - "(expected %1% got %2%)") - % inputBinding.second.GetNumElements() - % value.size())); - } - - armnn::ConstTensor inputTensor(inputBinding.second, value.data()); - inputTensors.push_back(std::make_pair(inputBinding.first, inputTensor)); - }, - inputData); + { + if (value.size() != inputBinding.second.GetNumElements()) + { + throw armnn::Exception(boost::str(boost::format("The input tensor has incorrect size " + "(expected %1% got %2%)") + % inputBinding.second.GetNumElements() + % value.size())); + } + + armnn::ConstTensor inputTensor(inputBinding.second, value.data()); + inputTensors.push_back(std::make_pair(inputBinding.first, inputTensor)); + }, + inputData); } return inputTensors; } template<typename TContainer> -inline armnn::OutputTensors MakeOutputTensors( - const std::vector<armnn::BindingPointInfo>& outputBindings, - std::vector<TContainer>& outputDataContainers) +inline armnn::OutputTensors MakeOutputTensors(const std::vector<armnn::BindingPointInfo>& outputBindings, + std::vector<TContainer>& outputDataContainers) { armnn::OutputTensors outputTensors; @@ -63,7 +62,9 @@ inline armnn::OutputTensors MakeOutputTensors( if (numOutputs != outputDataContainers.size()) { throw armnn::Exception(boost::str(boost::format("Number of outputs does not match number of " - "tensor data containers: %1% != %2%") % numOutputs % outputDataContainers.size())); + "tensor data containers: %1% != %2%") + % numOutputs + % outputDataContainers.size())); } for (size_t i = 0; i < numOutputs; i++) @@ -72,16 +73,16 @@ inline armnn::OutputTensors MakeOutputTensors( TContainer& outputData = outputDataContainers[i]; boost::apply_visitor([&](auto&& value) - { - if (value.size() != outputBinding.second.GetNumElements()) - { - throw armnn::Exception("Output tensor has incorrect size"); - } - - armnn::Tensor outputTensor(outputBinding.second, value.data()); - outputTensors.push_back(std::make_pair(outputBinding.first, outputTensor)); - }, - outputData); + { + if (value.size() != outputBinding.second.GetNumElements()) + { + throw armnn::Exception("Output tensor has incorrect size"); + } + + armnn::Tensor outputTensor(outputBinding.second, value.data()); + outputTensors.push_back(std::make_pair(outputBinding.first, outputTensor)); + }, + outputData); } return outputTensors; |