diff options
author | Ryan OShea <Ryan.OShea2@arm.com> | 2020-04-22 16:37:29 +0100 |
---|---|---|
committer | Ryan OShea <Ryan.OShea2@arm.com> | 2020-04-23 14:28:20 +0100 |
commit | ed27ee7e1629b8af6f32ad0aed0901d749b53c32 (patch) | |
tree | 0fd7bee16c8e47ec0a4373476695aa0fe66157c9 /src/armnnOnnxParser/test/Reshape.cpp | |
parent | f7b9d29c69e707195df8e37f429f9bff521fd490 (diff) | |
download | armnn-ed27ee7e1629b8af6f32ad0aed0901d749b53c32.tar.gz |
IVGCVSW-4496 Add Flatten support to ONNX parser
* Added ParseFlatten method
* Added Read int64 attribute method
- Modified ComputeReshapeInfo method
- Modified ParseReshape
* Added unit tests
- Reorganised OnnxParser.cpp/.hpp
Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com>
Change-Id: I8a9553438dd1e8c702d821b093587e0074c027d5
Diffstat (limited to 'src/armnnOnnxParser/test/Reshape.cpp')
-rw-r--r-- | src/armnnOnnxParser/test/Reshape.cpp | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/src/armnnOnnxParser/test/Reshape.cpp b/src/armnnOnnxParser/test/Reshape.cpp index 60937f0666..119a406d7e 100644 --- a/src/armnnOnnxParser/test/Reshape.cpp +++ b/src/armnnOnnxParser/test/Reshape.cpp @@ -85,6 +85,91 @@ struct ReshapeMainFixture : public armnnUtils::ParserPrototxtFixture<armnnOnnxPa } }; +struct ReshapeRank4Fixture : public armnnUtils::ParserPrototxtFixture<armnnOnnxParser::IOnnxParser> +{ + ReshapeRank4Fixture(const std::string& dataType) + { + m_Prototext = R"( + ir_version: 3 + producer_name: "CNTK" + producer_version: "2.5.1" + domain: "ai.cntk" + model_version: 1 + graph { + name: "CNTKGraph" + input { + name: "Input" + type { + tensor_type { + elem_type: )" + dataType + R"( + shape { + dim { + dim_value: 2 + } + dim { + dim_value: 2 + } + dim { + dim_value: 3 + } + dim { + dim_value: 3 + } + } + } + } + } + input { + name: "Shape" + type { + tensor_type { + elem_type: 7 + shape { + dim { + dim_value: 2 + } + } + } + } + } + node { + input: "Input" + input: "Shape" + output: "Output" + name: "reshape" + op_type: "Reshape" + + } + initializer { + dims: 2 + data_type: 7 + int64_data: 2 + int64_data: 2 + name: "Shape" + } + output { + name: "Output" + type { + tensor_type { + elem_type: 1 + shape { + dim { + dim_value: 6 + } + dim { + dim_value: 6 + } + } + } + } + } + } + opset_import { + version: 7 + })"; + } +}; + struct ReshapeValidFixture : ReshapeMainFixture { ReshapeValidFixture() : ReshapeMainFixture("1") { @@ -92,6 +177,13 @@ struct ReshapeValidFixture : ReshapeMainFixture } }; +struct ReshapeValidRank4Fixture : ReshapeRank4Fixture +{ + ReshapeValidRank4Fixture() : ReshapeRank4Fixture("1") { + Setup(); + } +}; + struct ReshapeInvalidFixture : ReshapeMainFixture { ReshapeInvalidFixture() : ReshapeMainFixture("10") { } @@ -102,6 +194,19 @@ BOOST_FIXTURE_TEST_CASE(ValidReshapeTest, ReshapeValidFixture) RunTest<2>({{"Input", { 0.0f, 1.0f, 2.0f, 3.0f }}}, {{"Output", { 0.0f, 1.0f, 2.0f, 3.0f }}}); } +BOOST_FIXTURE_TEST_CASE(ValidRank4ReshapeTest, ReshapeValidRank4Fixture) +{ + RunTest<2>( + {{"Input", + {1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, + 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, + 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f}}}, + {{"Output", + {1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, + 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, + 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f}}}); +} + BOOST_FIXTURE_TEST_CASE(IncorrectDataTypeReshape, ReshapeInvalidFixture) { BOOST_CHECK_THROW(Setup(), armnn::ParseException); |