aboutsummaryrefslogtreecommitdiff
path: root/src/armnnTfLiteParser/test/InputOutputTensorNames.cpp
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2019-04-17 11:22:38 +0100
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2019-04-17 11:55:30 +0100
commit4818d465973d72979a7f6e783e1b55b320781710 (patch)
tree7c6cce52a728b6fe3ea2733b808555ff27edbab2 /src/armnnTfLiteParser/test/InputOutputTensorNames.cpp
parent0790dcea1056298d63f97dec904c8ade5d21f439 (diff)
downloadarmnn-4818d465973d72979a7f6e783e1b55b320781710.tar.gz
IVGCVSW-2849 Add TfLite Parser support for Rank-0 operands and unit tests
Change-Id: I6dab12aed395a30466d66421c6e5a12659fedac8 Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Diffstat (limited to 'src/armnnTfLiteParser/test/InputOutputTensorNames.cpp')
-rw-r--r--src/armnnTfLiteParser/test/InputOutputTensorNames.cpp67
1 files changed, 63 insertions, 4 deletions
diff --git a/src/armnnTfLiteParser/test/InputOutputTensorNames.cpp b/src/armnnTfLiteParser/test/InputOutputTensorNames.cpp
index 6f5016265a..d42ae2e438 100644
--- a/src/armnnTfLiteParser/test/InputOutputTensorNames.cpp
+++ b/src/armnnTfLiteParser/test/InputOutputTensorNames.cpp
@@ -60,9 +60,19 @@ struct InvalidTensorsFixture : public ParserFlatbuffersFixture
"version": 3,
"operator_codes": [ ],
"subgraphs": [{
- "tensors": [ {}, {}, {}, {} ],
- "inputs" : [ 0, 1 ],
- "outputs" : [ 2, 3 ],
+ "tensors": [ {
+ "shape": [ 1, 1, 1, 1, 1 ],
+ "type": "FLOAT32",
+ "name": "In",
+ "buffer": 0
+ }, {
+ "shape": [ 1, 1, 1, 1, 1 ],
+ "type": "FLOAT32",
+ "name": "Out",
+ "buffer": 1
+ }],
+ "inputs" : [ 0 ],
+ "outputs" : [ 1 ],
}]
})";
}
@@ -70,7 +80,7 @@ struct InvalidTensorsFixture : public ParserFlatbuffersFixture
BOOST_FIXTURE_TEST_CASE(InvalidTensorsThrowException, InvalidTensorsFixture)
{
- // this throws because it cannot do the input output tensor connections
+ // Tensor numDimensions must be less than or equal to MaxNumOfTensorDimensions
BOOST_CHECK_THROW(Setup(), armnn::InvalidArgumentException);
}
@@ -135,4 +145,53 @@ BOOST_FIXTURE_TEST_CASE(ThrowIfSubgraphIdInvalidForInOutNames, ValidTensorsFixtu
BOOST_CHECK_THROW(m_Parser->GetSubgraphOutputTensorNames(1), armnn::ParseException);
}
+struct Rank0TensorFixture : public ParserFlatbuffersFixture
+{
+ explicit Rank0TensorFixture()
+ {
+ m_JsonString = R"(
+ {
+ "version": 3,
+ "operator_codes": [ { "builtin_code": "MINIMUM" } ],
+ "subgraphs": [{
+ "tensors": [ {
+ "shape": [ ],
+ "type": "FLOAT32",
+ "name": "In0",
+ "buffer": 0,
+ }, {
+ "shape": [ ],
+ "type": "FLOAT32",
+ "name": "In1",
+ "buffer": 1,
+ }, {
+ "shape": [ ],
+ "type": "FLOAT32",
+ "name": "Out",
+ "buffer": 2,
+ }],
+ "inputs" : [ 0, 1 ],
+ "outputs" : [ 2 ],
+ "operators": [{
+ "opcode_index": 0,
+ "inputs": [ 0, 1 ],
+ "outputs": [ 2 ],
+ "custom_options_format": "FLEXBUFFERS"
+ }]
+ }]
+ }
+ )";
+ }
+};
+
+BOOST_FIXTURE_TEST_CASE(Rank0Tensor, Rank0TensorFixture)
+{
+ Setup();
+ BOOST_CHECK_EQUAL(m_Parser->GetSubgraphInputTensorNames(0).size(), 2u);
+ BOOST_CHECK_EQUAL(m_Parser->GetSubgraphOutputTensorNames(0).size(), 1u);
+ BOOST_CHECK_EQUAL(m_Parser->GetSubgraphInputTensorNames(0)[0], "In0");
+ BOOST_CHECK_EQUAL(m_Parser->GetSubgraphInputTensorNames(0)[1], "In1");
+ BOOST_CHECK_EQUAL(m_Parser->GetSubgraphOutputTensorNames(0)[0], "Out");
+}
+
BOOST_AUTO_TEST_SUITE_END()