From 7cf0eaa26c1fb29ca9df97e4734ec7c1e10f81c4 Mon Sep 17 00:00:00 2001 From: Aron Virginas-Tar Date: Thu, 24 Jan 2019 17:05:36 +0000 Subject: IVGCVSW-2564 Add support for multiple input and output bindings in InferenceModel Change-Id: I64d724367d42dca4b768b6c6e42acda714985950 --- .../MultipleNetworksCifar10/MultipleNetworksCifar10.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp') diff --git a/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp b/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp index f31e0c95a9..44b8890fc2 100644 --- a/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp +++ b/tests/MultipleNetworksCifar10/MultipleNetworksCifar10.cpp @@ -173,14 +173,23 @@ int main(int argc, char* argv[]) // Loads test case data (including image data). std::unique_ptr testCaseData = cifar10.GetTestCaseData(i); - // Tests inference. - std::vector> outputs(networksCount); + using TInputContainer = std::vector; + using TOutputContainer = std::array; + // Tests inference. + std::vector outputs(networksCount); 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 inputData = { testCaseData->m_InputImage }; + std::vector outputData = { outputs[k] }; + status = runtime->EnqueueWorkload(networks[k].m_Network, - MakeInputTensors(networks[k].m_InputBindingInfo, testCaseData->m_InputImage), - MakeOutputTensors(networks[k].m_OutputBindingInfo, outputs[k])); + MakeInputTensors(inputBindings, inputData), + MakeOutputTensors(outputBindings, outputData)); if (status == armnn::Status::Failure) { BOOST_LOG_TRIVIAL(fatal) << "armnn::IRuntime: Failed to enqueue workload"; -- cgit v1.2.1