aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2019-04-29 16:40:55 +0100
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2019-04-30 09:50:57 +0000
commit386681af17ec143a0ea6f503e579e5cd8a334966 (patch)
tree918cc356aadb564afae8dca994c34f7424f2c38e
parentff05cc50880032614675e9422ba829785f61ba14 (diff)
downloadarmnn-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
-rw-r--r--src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp31
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)
{