aboutsummaryrefslogtreecommitdiff
path: root/src/armnnDeserializer
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-09-20 11:21:14 +0100
committerAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-09-20 11:21:14 +0100
commita2f4b4be6adbd8b53e4e860c4d7c3a704e343395 (patch)
tree0b3726ba435a81d11b2a7b2e35fd19b6706c9465 /src/armnnDeserializer
parentb5f01b2e1fba71fb0bd9dfffa615980bfbf56c40 (diff)
downloadarmnn-a2f4b4be6adbd8b53e4e860c4d7c3a704e343395.tar.gz
IVGCVSW-3880 Add deserialization test for SLICE
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I513a6c02d77c1fd99c7d6571ee8333eae3e1e290
Diffstat (limited to 'src/armnnDeserializer')
-rw-r--r--src/armnnDeserializer/test/DeserializeSlice.cpp158
1 files changed, 158 insertions, 0 deletions
diff --git a/src/armnnDeserializer/test/DeserializeSlice.cpp b/src/armnnDeserializer/test/DeserializeSlice.cpp
new file mode 100644
index 0000000000..44c66d308a
--- /dev/null
+++ b/src/armnnDeserializer/test/DeserializeSlice.cpp
@@ -0,0 +1,158 @@
+//
+// Copyright © 2019 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "ParserFlatbuffersSerializeFixture.hpp"
+
+#include "../Deserializer.hpp"
+
+#include <boost/test/unit_test.hpp>
+
+#include <string>
+
+BOOST_AUTO_TEST_SUITE(Deserializer)
+
+struct SliceFixture : public ParserFlatbuffersSerializeFixture
+{
+ explicit SliceFixture(const std::string& inputShape,
+ const std::string& outputShape,
+ const std::string& begin,
+ const std::string& size,
+ const std::string& dataType)
+ {
+ m_JsonString = R"(
+ {
+ inputIds: [0],
+ outputIds: [2],
+ layers: [
+ {
+ layer_type: "InputLayer",
+ layer: {
+ base: {
+ layerBindingId: 0,
+ base: {
+ index: 0,
+ layerName: "InputLayer",
+ layerType: "Input",
+ inputSlots: [{
+ index: 0,
+ connection: {sourceLayerIndex:0, outputSlotIndex:0 },
+ }],
+ outputSlots: [{
+ index: 0,
+ tensorInfo: {
+ dimensions: )" + inputShape + R"(,
+ dataType: )" + dataType + R"(
+ }
+ }]
+ }
+ }
+ }
+ },
+ {
+ layer_type: "SliceLayer",
+ layer: {
+ base: {
+ index: 1,
+ layerName: "SliceLayer",
+ layerType: "Slice",
+ inputSlots: [{
+ index: 0,
+ connection: {sourceLayerIndex:0, outputSlotIndex:0 },
+ }],
+ outputSlots: [{
+ index: 0,
+ tensorInfo: {
+ dimensions: )" + outputShape + R"(,
+ dataType: )" + dataType + R"(
+ }
+ }]
+ },
+ descriptor: {
+ begin: )" + begin + R"(,
+ size: )" + size + R"(,
+ }
+ }
+ },
+ {
+ layer_type: "OutputLayer",
+ layer: {
+ base:{
+ layerBindingId: 2,
+ base: {
+ index: 2,
+ layerName: "OutputLayer",
+ layerType: "Output",
+ inputSlots: [{
+ index: 0,
+ connection: {sourceLayerIndex:1, outputSlotIndex:0 },
+ }],
+ outputSlots: [{
+ index: 0,
+ tensorInfo: {
+ dimensions: )" + outputShape + R"(,
+ dataType: )" + dataType + R"(
+ },
+ }],
+ }
+ }
+ },
+ }
+ ]
+ }
+ )";
+ SetupSingleInputSingleOutput("InputLayer", "OutputLayer");
+ }
+};
+
+struct SimpleSliceFixture : SliceFixture
+{
+ SimpleSliceFixture() : SliceFixture("[ 3, 2, 3, 5 ]", // input shape
+ "[ 2, 1, 2, 3 ]", // output shape
+ "[ 1, 0, 1, 2 ]", // begin
+ "[ 2, 1, 2, 3 ]", // size
+ "Float32") {} // data type
+};
+
+BOOST_FIXTURE_TEST_CASE(SimpleSliceFloat32, SimpleSliceFixture)
+{
+ RunTest<4, armnn::DataType::Float32>(
+ 0,
+ {
+ 0.f, 1.f, 2.f, 3.f, 4.f,
+ 5.f, 6.f, 7.f, 8.f, 9.f,
+ 10.f, 11.f, 12.f, 13.f, 14.f,
+
+ 15.f, 16.f, 17.f, 18.f, 19.f,
+ 20.f, 21.f, 22.f, 23.f, 24.f,
+ 25.f, 26.f, 27.f, 28.f, 29.f,
+
+
+ 30.f, 31.f, 32.f, 33.f, 34.f,
+ 35.f, 36.f, 37.f, 38.f, 39.f,
+ 40.f, 41.f, 42.f, 43.f, 44.f,
+
+ 45.f, 46.f, 47.f, 48.f, 49.f,
+ 50.f, 51.f, 52.f, 53.f, 54.f,
+ 55.f, 56.f, 57.f, 58.f, 59.f,
+
+
+ 60.f, 61.f, 62.f, 63.f, 64.f,
+ 65.f, 66.f, 67.f, 68.f, 69.f,
+ 70.f, 71.f, 72.f, 73.f, 74.f,
+
+ 75.f, 76.f, 77.f, 78.f, 79.f,
+ 80.f, 81.f, 82.f, 83.f, 84.f,
+ 85.f, 86.f, 87.f, 88.f, 89.f
+ },
+ {
+ 37.f, 38.f, 39.f,
+ 42.f, 43.f, 44.f,
+
+ 67.f, 68.f, 69.f,
+ 72.f, 73.f, 74.f
+ });
+}
+
+BOOST_AUTO_TEST_SUITE_END()