1 // clang-format off
2 // Generated file (from: pad_relaxed.mod.py). Do not edit
3 // Create the model
createTestModel()4 Model createTestModel() {
5 const std::vector<Operand> operands = {
6 {
7 .type = OperandType::TENSOR_FLOAT32,
8 .dimensions = {1, 2, 2, 1},
9 .numberOfConsumers = 1,
10 .scale = 0.0f,
11 .zeroPoint = 0,
12 .lifetime = OperandLifeTime::MODEL_INPUT,
13 .location = {.poolIndex = 0, .offset = 0, .length = 0},
14 },
15 {
16 .type = OperandType::TENSOR_INT32,
17 .dimensions = {4, 2},
18 .numberOfConsumers = 1,
19 .scale = 0.0f,
20 .zeroPoint = 0,
21 .lifetime = OperandLifeTime::CONSTANT_COPY,
22 .location = {.poolIndex = 0, .offset = 0, .length = 32},
23 },
24 {
25 .type = OperandType::TENSOR_FLOAT32,
26 .dimensions = {1, 4, 4, 1},
27 .numberOfConsumers = 0,
28 .scale = 0.0f,
29 .zeroPoint = 0,
30 .lifetime = OperandLifeTime::MODEL_OUTPUT,
31 .location = {.poolIndex = 0, .offset = 0, .length = 0},
32 }
33 };
34
35 const std::vector<Operation> operations = {
36 {
37 .type = OperationType::PAD,
38 .inputs = {0, 1},
39 .outputs = {2},
40 }
41 };
42
43 const std::vector<uint32_t> inputIndexes = {0};
44 const std::vector<uint32_t> outputIndexes = {2};
45 std::vector<uint8_t> operandValues = {
46 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
47 };
48 const std::vector<hidl_memory> pools = {};
49
50 return {
51 .operands = operands,
52 .operations = operations,
53 .inputIndexes = inputIndexes,
54 .outputIndexes = outputIndexes,
55 .operandValues = operandValues,
56 .pools = pools,
57 .relaxComputationFloat32toFloat16 = true,
58 };
59 }
60
is_ignored(int i)61 inline bool is_ignored(int i) {
62 static std::set<int> ignore = {};
63 return ignore.find(i) != ignore.end();
64 }
65
66 // Create the model
createTestModel_dynamic_output_shape()67 Model createTestModel_dynamic_output_shape() {
68 const std::vector<Operand> operands = {
69 {
70 .type = OperandType::TENSOR_FLOAT32,
71 .dimensions = {1, 2, 2, 1},
72 .numberOfConsumers = 1,
73 .scale = 0.0f,
74 .zeroPoint = 0,
75 .lifetime = OperandLifeTime::MODEL_INPUT,
76 .location = {.poolIndex = 0, .offset = 0, .length = 0},
77 },
78 {
79 .type = OperandType::TENSOR_INT32,
80 .dimensions = {4, 2},
81 .numberOfConsumers = 1,
82 .scale = 0.0f,
83 .zeroPoint = 0,
84 .lifetime = OperandLifeTime::CONSTANT_COPY,
85 .location = {.poolIndex = 0, .offset = 0, .length = 32},
86 },
87 {
88 .type = OperandType::TENSOR_FLOAT32,
89 .dimensions = {0, 0, 0, 0},
90 .numberOfConsumers = 0,
91 .scale = 0.0f,
92 .zeroPoint = 0,
93 .lifetime = OperandLifeTime::MODEL_OUTPUT,
94 .location = {.poolIndex = 0, .offset = 0, .length = 0},
95 }
96 };
97
98 const std::vector<Operation> operations = {
99 {
100 .type = OperationType::PAD,
101 .inputs = {0, 1},
102 .outputs = {2},
103 }
104 };
105
106 const std::vector<uint32_t> inputIndexes = {0};
107 const std::vector<uint32_t> outputIndexes = {2};
108 std::vector<uint8_t> operandValues = {
109 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
110 };
111 const std::vector<hidl_memory> pools = {};
112
113 return {
114 .operands = operands,
115 .operations = operations,
116 .inputIndexes = inputIndexes,
117 .outputIndexes = outputIndexes,
118 .operandValues = operandValues,
119 .pools = pools,
120 .relaxComputationFloat32toFloat16 = true,
121 };
122 }
123
is_ignored_dynamic_output_shape(int i)124 inline bool is_ignored_dynamic_output_shape(int i) {
125 static std::set<int> ignore = {};
126 return ignore.find(i) != ignore.end();
127 }
128
129