blob: 8c21f731cccd501b3e3fbc45e70ad50f869b0559 [file] [log] [blame]
Matthew Sloyan3504e422023-05-03 13:53:02 +01001//
2// Copyright © 2023 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "RedefineTestHelper.hpp"
7
8namespace armnnDelegate
9{
10
11void ExpandDimsSimpleTest(std::vector<armnn::BackendId>& backends)
12{
13 // Set input data
14 std::vector<int32_t> inputShape { 2, 2, 1 };
15 std::vector<int32_t> outputShape { 1, 2, 2, 1 };
16 std::vector<int32_t> axis { 0 };
17
18 std::vector<float> inputValues = { 1, 2, 3, 4 };
19 std::vector<float> expectedOutputValues = { 1, 2, 3, 4 };
20
21 RedefineTest<float>(tflite::BuiltinOperator_EXPAND_DIMS,
22 ::tflite::TensorType_FLOAT32,
23 backends,
24 inputShape,
25 outputShape,
26 inputValues,
27 expectedOutputValues,
28 axis);
29}
30
31void ExpandDimsWithNegativeAxisTest(std::vector<armnn::BackendId>& backends)
32{
33 // Set input data
34 std::vector<int32_t> inputShape { 1, 2, 2 };
35 std::vector<int32_t> outputShape { 1, 2, 2, 1 };
36 std::vector<int32_t> axis { -1 };
37
38 std::vector<float> inputValues = { 1, 2, 3, 4 };
39 std::vector<float> expectedOutputValues = { 1, 2, 3, 4 };
40
41 RedefineTest<float>(tflite::BuiltinOperator_EXPAND_DIMS,
42 ::tflite::TensorType_FLOAT32,
43 backends,
44 inputShape,
45 outputShape,
46 inputValues,
47 expectedOutputValues,
48 axis);
49}
50
51TEST_SUITE("ExpandDims_GpuAccTests")
52{
53
54TEST_CASE ("ExpandDims_Simple_GpuAcc_Test")
55{
56 std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
57 ExpandDimsSimpleTest(backends);
58}
59
60TEST_CASE ("ExpandDims_With_Negative_Axis_GpuAcc_Test")
61{
62 std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
63 ExpandDimsWithNegativeAxisTest(backends);
64}
65
66} // TEST_SUITE("ExpandDims_GpuAccTests")
67
68TEST_SUITE("ExpandDims_CpuAccTests")
69{
70
71TEST_CASE ("ExpandDims_Simple_CpuAcc_Test")
72{
73 std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
74 ExpandDimsSimpleTest(backends);
75}
76
77TEST_CASE ("ExpandDims_With_Negative_Axis_CpuAcc_Test")
78{
79 std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
80 ExpandDimsWithNegativeAxisTest(backends);
81}
82
83} // TEST_SUITE("ExpandDims_CpuAccTests")
84
85TEST_SUITE("ExpandDims_CpuRefTests")
86{
87
88TEST_CASE ("ExpandDims_Simple_CpuRef_Test")
89{
90 std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
91 ExpandDimsSimpleTest(backends);
92}
93
94TEST_CASE ("ExpandDims_With_Negative_Axis_CpuRef_Test")
95{
96 std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
97 ExpandDimsWithNegativeAxisTest(backends);
98}
99
100} // TEST_SUITE("ExpandDims_CpuRefTests")
101
102} // namespace armnnDelegate