diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-04-29 16:40:55 +0100 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-04-30 09:50:57 +0000 |
commit | 386681af17ec143a0ea6f503e579e5cd8a334966 (patch) | |
tree | 918cc356aadb564afae8dca994c34f7424f2c38e /src/armnnTfLiteParser/test | |
parent | ff05cc50880032614675e9422ba829785f61ba14 (diff) | |
download | armnn-386681af17ec143a0ea6f503e579e5cd8a334966.tar.gz |
IVGCVSW-2993: Investigate TfLite Parser test output shape validation
* Get outputTensorInfo from runtime outputs to ensure that
the results are from the running network
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ib35afeaf5f6121df7f6379cfc557ae77e5214d69
Diffstat (limited to 'src/armnnTfLiteParser/test')
-rw-r--r-- | src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp b/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp index 9b443c383d..69c5ec1767 100644 --- a/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp +++ b/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp @@ -271,30 +271,25 @@ void ParserFlatbuffersFixture::RunTest(size_t subgraphId, armnn::OutputTensors outputTensors; for (auto&& it : expectedOutputData) { - BindingPointInfo bindingInfo = m_Parser->GetNetworkOutputBindingInfo(subgraphId, it.first); - armnn::VerifyTensorInfoDataType(bindingInfo.second, armnnType2); - outputStorage.emplace(it.first, MakeTensor<DataType2, NumOutputDimensions>(bindingInfo.second)); - outputTensors.push_back( - { bindingInfo.first, armnn::Tensor(bindingInfo.second, outputStorage.at(it.first).data()) }); - } - - m_Runtime->EnqueueWorkload(m_NetworkIdentifier, inputTensors, outputTensors); - - // Check that output tensors have correct number of dimensions (NumOutputDimensions specified in test) - // after running the workload - for (auto&& it : expectedOutputData) - { armnn::LayerBindingId outputBindingId = m_Parser->GetNetworkOutputBindingInfo(subgraphId, it.first).first; - auto outputNumDimensions = m_Runtime->GetOutputTensorInfo( - m_NetworkIdentifier, outputBindingId).GetNumDimensions(); + armnn::TensorInfo outputTensorInfo = m_Runtime->GetOutputTensorInfo(m_NetworkIdentifier, outputBindingId); + // Check that output tensors have correct number of dimensions (NumOutputDimensions specified in test) + auto outputNumDimensions = outputTensorInfo.GetNumDimensions(); BOOST_CHECK_MESSAGE((outputNumDimensions == NumOutputDimensions), boost::str(boost::format("Number of dimensions expected %1%, but got %2% for output layer %3%") - % NumOutputDimensions - % outputNumDimensions - % it.first)); + % NumOutputDimensions + % outputNumDimensions + % it.first)); + + armnn::VerifyTensorInfoDataType(outputTensorInfo, armnnType2); + outputStorage.emplace(it.first, MakeTensor<DataType2, NumOutputDimensions>(outputTensorInfo)); + outputTensors.push_back( + { outputBindingId, armnn::Tensor(outputTensorInfo, outputStorage.at(it.first).data()) }); } + m_Runtime->EnqueueWorkload(m_NetworkIdentifier, inputTensors, outputTensors); + // Compare each output tensor to the expected values for (auto&& it : expectedOutputData) { |