1 // Generated from densify_5.mod.py
2 // DO NOT EDIT
3 // clang-format off
4 #include "TestHarness.h"
5 using namespace test_helper; // NOLINT(google-build-using-namespace)
6
7 namespace generated_tests::densify_5 {
8
get_test_model()9 const TestModel& get_test_model() {
10 static TestModel model = {
11 .main = {
12 .operands = {{ // sparseData
13 .type = TestOperandType::TENSOR_FLOAT32,
14 .dimensions = {8},
15 .numberOfConsumers = 1,
16 .scale = 0.0f,
17 .zeroPoint = 0,
18 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
19 .channelQuant = {},
20 .isIgnored = false,
21 .data = TestBuffer::createFromVector<float>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
22 }, { // traversalOrder
23 .type = TestOperandType::TENSOR_INT32,
24 .dimensions = {3},
25 .numberOfConsumers = 1,
26 .scale = 0.0f,
27 .zeroPoint = 0,
28 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
29 .channelQuant = {},
30 .isIgnored = false,
31 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
32 }, { // blockMap
33 .type = TestOperandType::TENSOR_INT32,
34 .dimensions = {0},
35 .numberOfConsumers = 1,
36 .scale = 0.0f,
37 .zeroPoint = 0,
38 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
39 .channelQuant = {},
40 .isIgnored = false,
41 .data = TestBuffer::createFromVector<int32_t>({})
42 }, { // dimFormat
43 .type = TestOperandType::TENSOR_INT32,
44 .dimensions = {3},
45 .numberOfConsumers = 1,
46 .scale = 0.0f,
47 .zeroPoint = 0,
48 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
49 .channelQuant = {},
50 .isIgnored = false,
51 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
52 }, { // dimensions
53 .type = TestOperandType::TENSOR_INT32,
54 .dimensions = {3},
55 .numberOfConsumers = 1,
56 .scale = 0.0f,
57 .zeroPoint = 0,
58 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
59 .channelQuant = {},
60 .isIgnored = false,
61 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
62 }, { // d0ArrSegments
63 .type = TestOperandType::TENSOR_INT32,
64 .dimensions = {2},
65 .numberOfConsumers = 1,
66 .scale = 0.0f,
67 .zeroPoint = 0,
68 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
69 .channelQuant = {},
70 .isIgnored = false,
71 .data = TestBuffer::createFromVector<int32_t>({0, 2})
72 }, { // d0ArrIndices
73 .type = TestOperandType::TENSOR_INT32,
74 .dimensions = {2},
75 .numberOfConsumers = 1,
76 .scale = 0.0f,
77 .zeroPoint = 0,
78 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
79 .channelQuant = {},
80 .isIgnored = false,
81 .data = TestBuffer::createFromVector<int32_t>({0, 2})
82 }, { // d1ArrSegments
83 .type = TestOperandType::TENSOR_INT32,
84 .dimensions = {3},
85 .numberOfConsumers = 1,
86 .scale = 0.0f,
87 .zeroPoint = 0,
88 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
89 .channelQuant = {},
90 .isIgnored = false,
91 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
92 }, { // d1ArrIndices
93 .type = TestOperandType::TENSOR_INT32,
94 .dimensions = {5},
95 .numberOfConsumers = 1,
96 .scale = 0.0f,
97 .zeroPoint = 0,
98 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
99 .channelQuant = {},
100 .isIgnored = false,
101 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
102 }, { // d2ArrSegments
103 .type = TestOperandType::TENSOR_INT32,
104 .dimensions = {6},
105 .numberOfConsumers = 1,
106 .scale = 0.0f,
107 .zeroPoint = 0,
108 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
109 .channelQuant = {},
110 .isIgnored = false,
111 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
112 }, { // d2ArrIndices
113 .type = TestOperandType::TENSOR_INT32,
114 .dimensions = {8},
115 .numberOfConsumers = 1,
116 .scale = 0.0f,
117 .zeroPoint = 0,
118 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
119 .channelQuant = {},
120 .isIgnored = false,
121 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
122 }, { // denseOut
123 .type = TestOperandType::TENSOR_FLOAT32,
124 .dimensions = {3, 2, 4},
125 .numberOfConsumers = 0,
126 .scale = 0.0f,
127 .zeroPoint = 0,
128 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
129 .channelQuant = {},
130 .isIgnored = false,
131 .data = TestBuffer::createFromVector<float>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
132 }},
133 .operations = {{
134 .type = TestOperationType::DENSIFY,
135 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
136 .outputs = {11}
137 }},
138 .inputIndexes = {0},
139 .outputIndexes = {11}
140 },
141 .referenced = {},
142 .isRelaxed = false,
143 .expectedMultinomialDistributionTolerance = 0,
144 .expectFailure = false,
145 .minSupportedVersion = TestHalVersion::UNKNOWN
146 };
147 return model;
148 }
149
150 const auto dummy_test_model = TestModelManager::get().add("densify_5", get_test_model());
151
152 } // namespace generated_tests::densify_5
153
154 namespace generated_tests::densify_5 {
155
get_test_model_all_inputs_as_internal()156 const TestModel& get_test_model_all_inputs_as_internal() {
157 static TestModel model = {
158 .main = {
159 .operands = {{ // sparseData
160 .type = TestOperandType::TENSOR_FLOAT32,
161 .dimensions = {8},
162 .numberOfConsumers = 1,
163 .scale = 0.0f,
164 .zeroPoint = 0,
165 .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
166 .channelQuant = {},
167 .isIgnored = false,
168 .data = TestBuffer::createFromVector<float>({})
169 }, { // traversalOrder
170 .type = TestOperandType::TENSOR_INT32,
171 .dimensions = {3},
172 .numberOfConsumers = 1,
173 .scale = 0.0f,
174 .zeroPoint = 0,
175 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
176 .channelQuant = {},
177 .isIgnored = false,
178 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
179 }, { // blockMap
180 .type = TestOperandType::TENSOR_INT32,
181 .dimensions = {0},
182 .numberOfConsumers = 1,
183 .scale = 0.0f,
184 .zeroPoint = 0,
185 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
186 .channelQuant = {},
187 .isIgnored = false,
188 .data = TestBuffer::createFromVector<int32_t>({})
189 }, { // dimFormat
190 .type = TestOperandType::TENSOR_INT32,
191 .dimensions = {3},
192 .numberOfConsumers = 1,
193 .scale = 0.0f,
194 .zeroPoint = 0,
195 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
196 .channelQuant = {},
197 .isIgnored = false,
198 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
199 }, { // dimensions
200 .type = TestOperandType::TENSOR_INT32,
201 .dimensions = {3},
202 .numberOfConsumers = 1,
203 .scale = 0.0f,
204 .zeroPoint = 0,
205 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
206 .channelQuant = {},
207 .isIgnored = false,
208 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
209 }, { // d0ArrSegments
210 .type = TestOperandType::TENSOR_INT32,
211 .dimensions = {2},
212 .numberOfConsumers = 1,
213 .scale = 0.0f,
214 .zeroPoint = 0,
215 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
216 .channelQuant = {},
217 .isIgnored = false,
218 .data = TestBuffer::createFromVector<int32_t>({0, 2})
219 }, { // d0ArrIndices
220 .type = TestOperandType::TENSOR_INT32,
221 .dimensions = {2},
222 .numberOfConsumers = 1,
223 .scale = 0.0f,
224 .zeroPoint = 0,
225 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
226 .channelQuant = {},
227 .isIgnored = false,
228 .data = TestBuffer::createFromVector<int32_t>({0, 2})
229 }, { // d1ArrSegments
230 .type = TestOperandType::TENSOR_INT32,
231 .dimensions = {3},
232 .numberOfConsumers = 1,
233 .scale = 0.0f,
234 .zeroPoint = 0,
235 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
236 .channelQuant = {},
237 .isIgnored = false,
238 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
239 }, { // d1ArrIndices
240 .type = TestOperandType::TENSOR_INT32,
241 .dimensions = {5},
242 .numberOfConsumers = 1,
243 .scale = 0.0f,
244 .zeroPoint = 0,
245 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
246 .channelQuant = {},
247 .isIgnored = false,
248 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
249 }, { // d2ArrSegments
250 .type = TestOperandType::TENSOR_INT32,
251 .dimensions = {6},
252 .numberOfConsumers = 1,
253 .scale = 0.0f,
254 .zeroPoint = 0,
255 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
256 .channelQuant = {},
257 .isIgnored = false,
258 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
259 }, { // d2ArrIndices
260 .type = TestOperandType::TENSOR_INT32,
261 .dimensions = {8},
262 .numberOfConsumers = 1,
263 .scale = 0.0f,
264 .zeroPoint = 0,
265 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
266 .channelQuant = {},
267 .isIgnored = false,
268 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
269 }, { // denseOut
270 .type = TestOperandType::TENSOR_FLOAT32,
271 .dimensions = {3, 2, 4},
272 .numberOfConsumers = 0,
273 .scale = 0.0f,
274 .zeroPoint = 0,
275 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
276 .channelQuant = {},
277 .isIgnored = false,
278 .data = TestBuffer::createFromVector<float>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
279 }, { // sparseData_new
280 .type = TestOperandType::TENSOR_FLOAT32,
281 .dimensions = {8},
282 .numberOfConsumers = 1,
283 .scale = 0.0f,
284 .zeroPoint = 0,
285 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
286 .channelQuant = {},
287 .isIgnored = false,
288 .data = TestBuffer::createFromVector<float>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
289 }, { // placeholder
290 .type = TestOperandType::TENSOR_FLOAT32,
291 .dimensions = {1},
292 .numberOfConsumers = 1,
293 .scale = 0.0f,
294 .zeroPoint = 0,
295 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
296 .channelQuant = {},
297 .isIgnored = false,
298 .data = TestBuffer::createFromVector<float>({0.0f})
299 }, { // param
300 .type = TestOperandType::INT32,
301 .dimensions = {},
302 .numberOfConsumers = 1,
303 .scale = 0.0f,
304 .zeroPoint = 0,
305 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
306 .channelQuant = {},
307 .isIgnored = false,
308 .data = TestBuffer::createFromVector<int32_t>({0})
309 }},
310 .operations = {{
311 .type = TestOperationType::ADD,
312 .inputs = {12, 13, 14},
313 .outputs = {0}
314 }, {
315 .type = TestOperationType::DENSIFY,
316 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
317 .outputs = {11}
318 }},
319 .inputIndexes = {12},
320 .outputIndexes = {11}
321 },
322 .referenced = {},
323 .isRelaxed = false,
324 .expectedMultinomialDistributionTolerance = 0,
325 .expectFailure = false,
326 .minSupportedVersion = TestHalVersion::UNKNOWN
327 };
328 return model;
329 }
330
331 const auto dummy_test_model_all_inputs_as_internal = TestModelManager::get().add("densify_5_all_inputs_as_internal", get_test_model_all_inputs_as_internal());
332
333 } // namespace generated_tests::densify_5
334
335 namespace generated_tests::densify_5 {
336
get_test_model_all_tensors_as_inputs()337 const TestModel& get_test_model_all_tensors_as_inputs() {
338 static TestModel model = {
339 .main = {
340 .operands = {{ // sparseData
341 .type = TestOperandType::TENSOR_FLOAT32,
342 .dimensions = {8},
343 .numberOfConsumers = 1,
344 .scale = 0.0f,
345 .zeroPoint = 0,
346 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
347 .channelQuant = {},
348 .isIgnored = false,
349 .data = TestBuffer::createFromVector<float>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
350 }, { // traversalOrder
351 .type = TestOperandType::TENSOR_INT32,
352 .dimensions = {3},
353 .numberOfConsumers = 1,
354 .scale = 0.0f,
355 .zeroPoint = 0,
356 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
357 .channelQuant = {},
358 .isIgnored = false,
359 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
360 }, { // blockMap
361 .type = TestOperandType::TENSOR_INT32,
362 .dimensions = {0},
363 .numberOfConsumers = 1,
364 .scale = 0.0f,
365 .zeroPoint = 0,
366 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
367 .channelQuant = {},
368 .isIgnored = false,
369 .data = TestBuffer::createFromVector<int32_t>({})
370 }, { // dimFormat
371 .type = TestOperandType::TENSOR_INT32,
372 .dimensions = {3},
373 .numberOfConsumers = 1,
374 .scale = 0.0f,
375 .zeroPoint = 0,
376 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
377 .channelQuant = {},
378 .isIgnored = false,
379 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
380 }, { // dimensions
381 .type = TestOperandType::TENSOR_INT32,
382 .dimensions = {3},
383 .numberOfConsumers = 1,
384 .scale = 0.0f,
385 .zeroPoint = 0,
386 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
387 .channelQuant = {},
388 .isIgnored = false,
389 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
390 }, { // d0ArrSegments
391 .type = TestOperandType::TENSOR_INT32,
392 .dimensions = {2},
393 .numberOfConsumers = 1,
394 .scale = 0.0f,
395 .zeroPoint = 0,
396 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
397 .channelQuant = {},
398 .isIgnored = false,
399 .data = TestBuffer::createFromVector<int32_t>({0, 2})
400 }, { // d0ArrIndices
401 .type = TestOperandType::TENSOR_INT32,
402 .dimensions = {2},
403 .numberOfConsumers = 1,
404 .scale = 0.0f,
405 .zeroPoint = 0,
406 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
407 .channelQuant = {},
408 .isIgnored = false,
409 .data = TestBuffer::createFromVector<int32_t>({0, 2})
410 }, { // d1ArrSegments
411 .type = TestOperandType::TENSOR_INT32,
412 .dimensions = {3},
413 .numberOfConsumers = 1,
414 .scale = 0.0f,
415 .zeroPoint = 0,
416 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
417 .channelQuant = {},
418 .isIgnored = false,
419 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
420 }, { // d1ArrIndices
421 .type = TestOperandType::TENSOR_INT32,
422 .dimensions = {5},
423 .numberOfConsumers = 1,
424 .scale = 0.0f,
425 .zeroPoint = 0,
426 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
427 .channelQuant = {},
428 .isIgnored = false,
429 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
430 }, { // d2ArrSegments
431 .type = TestOperandType::TENSOR_INT32,
432 .dimensions = {6},
433 .numberOfConsumers = 1,
434 .scale = 0.0f,
435 .zeroPoint = 0,
436 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
437 .channelQuant = {},
438 .isIgnored = false,
439 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
440 }, { // d2ArrIndices
441 .type = TestOperandType::TENSOR_INT32,
442 .dimensions = {8},
443 .numberOfConsumers = 1,
444 .scale = 0.0f,
445 .zeroPoint = 0,
446 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
447 .channelQuant = {},
448 .isIgnored = false,
449 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
450 }, { // denseOut
451 .type = TestOperandType::TENSOR_FLOAT32,
452 .dimensions = {3, 2, 4},
453 .numberOfConsumers = 0,
454 .scale = 0.0f,
455 .zeroPoint = 0,
456 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
457 .channelQuant = {},
458 .isIgnored = false,
459 .data = TestBuffer::createFromVector<float>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
460 }},
461 .operations = {{
462 .type = TestOperationType::DENSIFY,
463 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
464 .outputs = {11}
465 }},
466 .inputIndexes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
467 .outputIndexes = {11}
468 },
469 .referenced = {},
470 .isRelaxed = false,
471 .expectedMultinomialDistributionTolerance = 0,
472 .expectFailure = false,
473 .minSupportedVersion = TestHalVersion::UNKNOWN
474 };
475 return model;
476 }
477
478 const auto dummy_test_model_all_tensors_as_inputs = TestModelManager::get().add("densify_5_all_tensors_as_inputs", get_test_model_all_tensors_as_inputs());
479
480 } // namespace generated_tests::densify_5
481
482 namespace generated_tests::densify_5 {
483
get_test_model_all_tensors_as_inputs_all_inputs_as_internal()484 const TestModel& get_test_model_all_tensors_as_inputs_all_inputs_as_internal() {
485 static TestModel model = {
486 .main = {
487 .operands = {{ // sparseData
488 .type = TestOperandType::TENSOR_FLOAT32,
489 .dimensions = {8},
490 .numberOfConsumers = 1,
491 .scale = 0.0f,
492 .zeroPoint = 0,
493 .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
494 .channelQuant = {},
495 .isIgnored = false,
496 .data = TestBuffer::createFromVector<float>({})
497 }, { // traversalOrder
498 .type = TestOperandType::TENSOR_INT32,
499 .dimensions = {3},
500 .numberOfConsumers = 1,
501 .scale = 0.0f,
502 .zeroPoint = 0,
503 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
504 .channelQuant = {},
505 .isIgnored = false,
506 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
507 }, { // blockMap
508 .type = TestOperandType::TENSOR_INT32,
509 .dimensions = {0},
510 .numberOfConsumers = 1,
511 .scale = 0.0f,
512 .zeroPoint = 0,
513 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
514 .channelQuant = {},
515 .isIgnored = false,
516 .data = TestBuffer::createFromVector<int32_t>({})
517 }, { // dimFormat
518 .type = TestOperandType::TENSOR_INT32,
519 .dimensions = {3},
520 .numberOfConsumers = 1,
521 .scale = 0.0f,
522 .zeroPoint = 0,
523 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
524 .channelQuant = {},
525 .isIgnored = false,
526 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
527 }, { // dimensions
528 .type = TestOperandType::TENSOR_INT32,
529 .dimensions = {3},
530 .numberOfConsumers = 1,
531 .scale = 0.0f,
532 .zeroPoint = 0,
533 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
534 .channelQuant = {},
535 .isIgnored = false,
536 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
537 }, { // d0ArrSegments
538 .type = TestOperandType::TENSOR_INT32,
539 .dimensions = {2},
540 .numberOfConsumers = 1,
541 .scale = 0.0f,
542 .zeroPoint = 0,
543 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
544 .channelQuant = {},
545 .isIgnored = false,
546 .data = TestBuffer::createFromVector<int32_t>({0, 2})
547 }, { // d0ArrIndices
548 .type = TestOperandType::TENSOR_INT32,
549 .dimensions = {2},
550 .numberOfConsumers = 1,
551 .scale = 0.0f,
552 .zeroPoint = 0,
553 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
554 .channelQuant = {},
555 .isIgnored = false,
556 .data = TestBuffer::createFromVector<int32_t>({0, 2})
557 }, { // d1ArrSegments
558 .type = TestOperandType::TENSOR_INT32,
559 .dimensions = {3},
560 .numberOfConsumers = 1,
561 .scale = 0.0f,
562 .zeroPoint = 0,
563 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
564 .channelQuant = {},
565 .isIgnored = false,
566 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
567 }, { // d1ArrIndices
568 .type = TestOperandType::TENSOR_INT32,
569 .dimensions = {5},
570 .numberOfConsumers = 1,
571 .scale = 0.0f,
572 .zeroPoint = 0,
573 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
574 .channelQuant = {},
575 .isIgnored = false,
576 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
577 }, { // d2ArrSegments
578 .type = TestOperandType::TENSOR_INT32,
579 .dimensions = {6},
580 .numberOfConsumers = 1,
581 .scale = 0.0f,
582 .zeroPoint = 0,
583 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
584 .channelQuant = {},
585 .isIgnored = false,
586 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
587 }, { // d2ArrIndices
588 .type = TestOperandType::TENSOR_INT32,
589 .dimensions = {8},
590 .numberOfConsumers = 1,
591 .scale = 0.0f,
592 .zeroPoint = 0,
593 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
594 .channelQuant = {},
595 .isIgnored = false,
596 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
597 }, { // denseOut
598 .type = TestOperandType::TENSOR_FLOAT32,
599 .dimensions = {3, 2, 4},
600 .numberOfConsumers = 0,
601 .scale = 0.0f,
602 .zeroPoint = 0,
603 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
604 .channelQuant = {},
605 .isIgnored = false,
606 .data = TestBuffer::createFromVector<float>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
607 }, { // sparseData_new
608 .type = TestOperandType::TENSOR_FLOAT32,
609 .dimensions = {8},
610 .numberOfConsumers = 1,
611 .scale = 0.0f,
612 .zeroPoint = 0,
613 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
614 .channelQuant = {},
615 .isIgnored = false,
616 .data = TestBuffer::createFromVector<float>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
617 }, { // placeholder1
618 .type = TestOperandType::TENSOR_FLOAT32,
619 .dimensions = {1},
620 .numberOfConsumers = 1,
621 .scale = 0.0f,
622 .zeroPoint = 0,
623 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
624 .channelQuant = {},
625 .isIgnored = false,
626 .data = TestBuffer::createFromVector<float>({0.0f})
627 }, { // param1
628 .type = TestOperandType::INT32,
629 .dimensions = {},
630 .numberOfConsumers = 1,
631 .scale = 0.0f,
632 .zeroPoint = 0,
633 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
634 .channelQuant = {},
635 .isIgnored = false,
636 .data = TestBuffer::createFromVector<int32_t>({0})
637 }},
638 .operations = {{
639 .type = TestOperationType::ADD,
640 .inputs = {12, 13, 14},
641 .outputs = {0}
642 }, {
643 .type = TestOperationType::DENSIFY,
644 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
645 .outputs = {11}
646 }},
647 .inputIndexes = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12},
648 .outputIndexes = {11}
649 },
650 .referenced = {},
651 .isRelaxed = false,
652 .expectedMultinomialDistributionTolerance = 0,
653 .expectFailure = false,
654 .minSupportedVersion = TestHalVersion::UNKNOWN
655 };
656 return model;
657 }
658
659 const auto dummy_test_model_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("densify_5_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_all_tensors_as_inputs_all_inputs_as_internal());
660
661 } // namespace generated_tests::densify_5
662
663 namespace generated_tests::densify_5 {
664
get_test_model_relaxed()665 const TestModel& get_test_model_relaxed() {
666 static TestModel model = {
667 .main = {
668 .operands = {{ // sparseData
669 .type = TestOperandType::TENSOR_FLOAT32,
670 .dimensions = {8},
671 .numberOfConsumers = 1,
672 .scale = 0.0f,
673 .zeroPoint = 0,
674 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
675 .channelQuant = {},
676 .isIgnored = false,
677 .data = TestBuffer::createFromVector<float>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
678 }, { // traversalOrder
679 .type = TestOperandType::TENSOR_INT32,
680 .dimensions = {3},
681 .numberOfConsumers = 1,
682 .scale = 0.0f,
683 .zeroPoint = 0,
684 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
685 .channelQuant = {},
686 .isIgnored = false,
687 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
688 }, { // blockMap
689 .type = TestOperandType::TENSOR_INT32,
690 .dimensions = {0},
691 .numberOfConsumers = 1,
692 .scale = 0.0f,
693 .zeroPoint = 0,
694 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
695 .channelQuant = {},
696 .isIgnored = false,
697 .data = TestBuffer::createFromVector<int32_t>({})
698 }, { // dimFormat
699 .type = TestOperandType::TENSOR_INT32,
700 .dimensions = {3},
701 .numberOfConsumers = 1,
702 .scale = 0.0f,
703 .zeroPoint = 0,
704 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
705 .channelQuant = {},
706 .isIgnored = false,
707 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
708 }, { // dimensions
709 .type = TestOperandType::TENSOR_INT32,
710 .dimensions = {3},
711 .numberOfConsumers = 1,
712 .scale = 0.0f,
713 .zeroPoint = 0,
714 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
715 .channelQuant = {},
716 .isIgnored = false,
717 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
718 }, { // d0ArrSegments
719 .type = TestOperandType::TENSOR_INT32,
720 .dimensions = {2},
721 .numberOfConsumers = 1,
722 .scale = 0.0f,
723 .zeroPoint = 0,
724 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
725 .channelQuant = {},
726 .isIgnored = false,
727 .data = TestBuffer::createFromVector<int32_t>({0, 2})
728 }, { // d0ArrIndices
729 .type = TestOperandType::TENSOR_INT32,
730 .dimensions = {2},
731 .numberOfConsumers = 1,
732 .scale = 0.0f,
733 .zeroPoint = 0,
734 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
735 .channelQuant = {},
736 .isIgnored = false,
737 .data = TestBuffer::createFromVector<int32_t>({0, 2})
738 }, { // d1ArrSegments
739 .type = TestOperandType::TENSOR_INT32,
740 .dimensions = {3},
741 .numberOfConsumers = 1,
742 .scale = 0.0f,
743 .zeroPoint = 0,
744 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
745 .channelQuant = {},
746 .isIgnored = false,
747 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
748 }, { // d1ArrIndices
749 .type = TestOperandType::TENSOR_INT32,
750 .dimensions = {5},
751 .numberOfConsumers = 1,
752 .scale = 0.0f,
753 .zeroPoint = 0,
754 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
755 .channelQuant = {},
756 .isIgnored = false,
757 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
758 }, { // d2ArrSegments
759 .type = TestOperandType::TENSOR_INT32,
760 .dimensions = {6},
761 .numberOfConsumers = 1,
762 .scale = 0.0f,
763 .zeroPoint = 0,
764 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
765 .channelQuant = {},
766 .isIgnored = false,
767 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
768 }, { // d2ArrIndices
769 .type = TestOperandType::TENSOR_INT32,
770 .dimensions = {8},
771 .numberOfConsumers = 1,
772 .scale = 0.0f,
773 .zeroPoint = 0,
774 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
775 .channelQuant = {},
776 .isIgnored = false,
777 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
778 }, { // denseOut
779 .type = TestOperandType::TENSOR_FLOAT32,
780 .dimensions = {3, 2, 4},
781 .numberOfConsumers = 0,
782 .scale = 0.0f,
783 .zeroPoint = 0,
784 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
785 .channelQuant = {},
786 .isIgnored = false,
787 .data = TestBuffer::createFromVector<float>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
788 }},
789 .operations = {{
790 .type = TestOperationType::DENSIFY,
791 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
792 .outputs = {11}
793 }},
794 .inputIndexes = {0},
795 .outputIndexes = {11}
796 },
797 .referenced = {},
798 .isRelaxed = true,
799 .expectedMultinomialDistributionTolerance = 0,
800 .expectFailure = false,
801 .minSupportedVersion = TestHalVersion::UNKNOWN
802 };
803 return model;
804 }
805
806 const auto dummy_test_model_relaxed = TestModelManager::get().add("densify_5_relaxed", get_test_model_relaxed());
807
808 } // namespace generated_tests::densify_5
809
810 namespace generated_tests::densify_5 {
811
get_test_model_relaxed_all_inputs_as_internal()812 const TestModel& get_test_model_relaxed_all_inputs_as_internal() {
813 static TestModel model = {
814 .main = {
815 .operands = {{ // sparseData
816 .type = TestOperandType::TENSOR_FLOAT32,
817 .dimensions = {8},
818 .numberOfConsumers = 1,
819 .scale = 0.0f,
820 .zeroPoint = 0,
821 .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
822 .channelQuant = {},
823 .isIgnored = false,
824 .data = TestBuffer::createFromVector<float>({})
825 }, { // traversalOrder
826 .type = TestOperandType::TENSOR_INT32,
827 .dimensions = {3},
828 .numberOfConsumers = 1,
829 .scale = 0.0f,
830 .zeroPoint = 0,
831 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
832 .channelQuant = {},
833 .isIgnored = false,
834 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
835 }, { // blockMap
836 .type = TestOperandType::TENSOR_INT32,
837 .dimensions = {0},
838 .numberOfConsumers = 1,
839 .scale = 0.0f,
840 .zeroPoint = 0,
841 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
842 .channelQuant = {},
843 .isIgnored = false,
844 .data = TestBuffer::createFromVector<int32_t>({})
845 }, { // dimFormat
846 .type = TestOperandType::TENSOR_INT32,
847 .dimensions = {3},
848 .numberOfConsumers = 1,
849 .scale = 0.0f,
850 .zeroPoint = 0,
851 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
852 .channelQuant = {},
853 .isIgnored = false,
854 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
855 }, { // dimensions
856 .type = TestOperandType::TENSOR_INT32,
857 .dimensions = {3},
858 .numberOfConsumers = 1,
859 .scale = 0.0f,
860 .zeroPoint = 0,
861 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
862 .channelQuant = {},
863 .isIgnored = false,
864 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
865 }, { // d0ArrSegments
866 .type = TestOperandType::TENSOR_INT32,
867 .dimensions = {2},
868 .numberOfConsumers = 1,
869 .scale = 0.0f,
870 .zeroPoint = 0,
871 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
872 .channelQuant = {},
873 .isIgnored = false,
874 .data = TestBuffer::createFromVector<int32_t>({0, 2})
875 }, { // d0ArrIndices
876 .type = TestOperandType::TENSOR_INT32,
877 .dimensions = {2},
878 .numberOfConsumers = 1,
879 .scale = 0.0f,
880 .zeroPoint = 0,
881 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
882 .channelQuant = {},
883 .isIgnored = false,
884 .data = TestBuffer::createFromVector<int32_t>({0, 2})
885 }, { // d1ArrSegments
886 .type = TestOperandType::TENSOR_INT32,
887 .dimensions = {3},
888 .numberOfConsumers = 1,
889 .scale = 0.0f,
890 .zeroPoint = 0,
891 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
892 .channelQuant = {},
893 .isIgnored = false,
894 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
895 }, { // d1ArrIndices
896 .type = TestOperandType::TENSOR_INT32,
897 .dimensions = {5},
898 .numberOfConsumers = 1,
899 .scale = 0.0f,
900 .zeroPoint = 0,
901 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
902 .channelQuant = {},
903 .isIgnored = false,
904 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
905 }, { // d2ArrSegments
906 .type = TestOperandType::TENSOR_INT32,
907 .dimensions = {6},
908 .numberOfConsumers = 1,
909 .scale = 0.0f,
910 .zeroPoint = 0,
911 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
912 .channelQuant = {},
913 .isIgnored = false,
914 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
915 }, { // d2ArrIndices
916 .type = TestOperandType::TENSOR_INT32,
917 .dimensions = {8},
918 .numberOfConsumers = 1,
919 .scale = 0.0f,
920 .zeroPoint = 0,
921 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
922 .channelQuant = {},
923 .isIgnored = false,
924 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
925 }, { // denseOut
926 .type = TestOperandType::TENSOR_FLOAT32,
927 .dimensions = {3, 2, 4},
928 .numberOfConsumers = 0,
929 .scale = 0.0f,
930 .zeroPoint = 0,
931 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
932 .channelQuant = {},
933 .isIgnored = false,
934 .data = TestBuffer::createFromVector<float>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
935 }, { // sparseData_new
936 .type = TestOperandType::TENSOR_FLOAT32,
937 .dimensions = {8},
938 .numberOfConsumers = 1,
939 .scale = 0.0f,
940 .zeroPoint = 0,
941 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
942 .channelQuant = {},
943 .isIgnored = false,
944 .data = TestBuffer::createFromVector<float>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
945 }, { // placeholder2
946 .type = TestOperandType::TENSOR_FLOAT32,
947 .dimensions = {1},
948 .numberOfConsumers = 1,
949 .scale = 0.0f,
950 .zeroPoint = 0,
951 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
952 .channelQuant = {},
953 .isIgnored = false,
954 .data = TestBuffer::createFromVector<float>({0.0f})
955 }, { // param2
956 .type = TestOperandType::INT32,
957 .dimensions = {},
958 .numberOfConsumers = 1,
959 .scale = 0.0f,
960 .zeroPoint = 0,
961 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
962 .channelQuant = {},
963 .isIgnored = false,
964 .data = TestBuffer::createFromVector<int32_t>({0})
965 }},
966 .operations = {{
967 .type = TestOperationType::ADD,
968 .inputs = {12, 13, 14},
969 .outputs = {0}
970 }, {
971 .type = TestOperationType::DENSIFY,
972 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
973 .outputs = {11}
974 }},
975 .inputIndexes = {12},
976 .outputIndexes = {11}
977 },
978 .referenced = {},
979 .isRelaxed = true,
980 .expectedMultinomialDistributionTolerance = 0,
981 .expectFailure = false,
982 .minSupportedVersion = TestHalVersion::UNKNOWN
983 };
984 return model;
985 }
986
987 const auto dummy_test_model_relaxed_all_inputs_as_internal = TestModelManager::get().add("densify_5_relaxed_all_inputs_as_internal", get_test_model_relaxed_all_inputs_as_internal());
988
989 } // namespace generated_tests::densify_5
990
991 namespace generated_tests::densify_5 {
992
get_test_model_relaxed_all_tensors_as_inputs()993 const TestModel& get_test_model_relaxed_all_tensors_as_inputs() {
994 static TestModel model = {
995 .main = {
996 .operands = {{ // sparseData
997 .type = TestOperandType::TENSOR_FLOAT32,
998 .dimensions = {8},
999 .numberOfConsumers = 1,
1000 .scale = 0.0f,
1001 .zeroPoint = 0,
1002 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1003 .channelQuant = {},
1004 .isIgnored = false,
1005 .data = TestBuffer::createFromVector<float>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
1006 }, { // traversalOrder
1007 .type = TestOperandType::TENSOR_INT32,
1008 .dimensions = {3},
1009 .numberOfConsumers = 1,
1010 .scale = 0.0f,
1011 .zeroPoint = 0,
1012 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1013 .channelQuant = {},
1014 .isIgnored = false,
1015 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
1016 }, { // blockMap
1017 .type = TestOperandType::TENSOR_INT32,
1018 .dimensions = {0},
1019 .numberOfConsumers = 1,
1020 .scale = 0.0f,
1021 .zeroPoint = 0,
1022 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1023 .channelQuant = {},
1024 .isIgnored = false,
1025 .data = TestBuffer::createFromVector<int32_t>({})
1026 }, { // dimFormat
1027 .type = TestOperandType::TENSOR_INT32,
1028 .dimensions = {3},
1029 .numberOfConsumers = 1,
1030 .scale = 0.0f,
1031 .zeroPoint = 0,
1032 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1033 .channelQuant = {},
1034 .isIgnored = false,
1035 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
1036 }, { // dimensions
1037 .type = TestOperandType::TENSOR_INT32,
1038 .dimensions = {3},
1039 .numberOfConsumers = 1,
1040 .scale = 0.0f,
1041 .zeroPoint = 0,
1042 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1043 .channelQuant = {},
1044 .isIgnored = false,
1045 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
1046 }, { // d0ArrSegments
1047 .type = TestOperandType::TENSOR_INT32,
1048 .dimensions = {2},
1049 .numberOfConsumers = 1,
1050 .scale = 0.0f,
1051 .zeroPoint = 0,
1052 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1053 .channelQuant = {},
1054 .isIgnored = false,
1055 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1056 }, { // d0ArrIndices
1057 .type = TestOperandType::TENSOR_INT32,
1058 .dimensions = {2},
1059 .numberOfConsumers = 1,
1060 .scale = 0.0f,
1061 .zeroPoint = 0,
1062 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1063 .channelQuant = {},
1064 .isIgnored = false,
1065 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1066 }, { // d1ArrSegments
1067 .type = TestOperandType::TENSOR_INT32,
1068 .dimensions = {3},
1069 .numberOfConsumers = 1,
1070 .scale = 0.0f,
1071 .zeroPoint = 0,
1072 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1073 .channelQuant = {},
1074 .isIgnored = false,
1075 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
1076 }, { // d1ArrIndices
1077 .type = TestOperandType::TENSOR_INT32,
1078 .dimensions = {5},
1079 .numberOfConsumers = 1,
1080 .scale = 0.0f,
1081 .zeroPoint = 0,
1082 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1083 .channelQuant = {},
1084 .isIgnored = false,
1085 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
1086 }, { // d2ArrSegments
1087 .type = TestOperandType::TENSOR_INT32,
1088 .dimensions = {6},
1089 .numberOfConsumers = 1,
1090 .scale = 0.0f,
1091 .zeroPoint = 0,
1092 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1093 .channelQuant = {},
1094 .isIgnored = false,
1095 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
1096 }, { // d2ArrIndices
1097 .type = TestOperandType::TENSOR_INT32,
1098 .dimensions = {8},
1099 .numberOfConsumers = 1,
1100 .scale = 0.0f,
1101 .zeroPoint = 0,
1102 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1103 .channelQuant = {},
1104 .isIgnored = false,
1105 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
1106 }, { // denseOut
1107 .type = TestOperandType::TENSOR_FLOAT32,
1108 .dimensions = {3, 2, 4},
1109 .numberOfConsumers = 0,
1110 .scale = 0.0f,
1111 .zeroPoint = 0,
1112 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
1113 .channelQuant = {},
1114 .isIgnored = false,
1115 .data = TestBuffer::createFromVector<float>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
1116 }},
1117 .operations = {{
1118 .type = TestOperationType::DENSIFY,
1119 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
1120 .outputs = {11}
1121 }},
1122 .inputIndexes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
1123 .outputIndexes = {11}
1124 },
1125 .referenced = {},
1126 .isRelaxed = true,
1127 .expectedMultinomialDistributionTolerance = 0,
1128 .expectFailure = false,
1129 .minSupportedVersion = TestHalVersion::UNKNOWN
1130 };
1131 return model;
1132 }
1133
1134 const auto dummy_test_model_relaxed_all_tensors_as_inputs = TestModelManager::get().add("densify_5_relaxed_all_tensors_as_inputs", get_test_model_relaxed_all_tensors_as_inputs());
1135
1136 } // namespace generated_tests::densify_5
1137
1138 namespace generated_tests::densify_5 {
1139
get_test_model_relaxed_all_tensors_as_inputs_all_inputs_as_internal()1140 const TestModel& get_test_model_relaxed_all_tensors_as_inputs_all_inputs_as_internal() {
1141 static TestModel model = {
1142 .main = {
1143 .operands = {{ // sparseData
1144 .type = TestOperandType::TENSOR_FLOAT32,
1145 .dimensions = {8},
1146 .numberOfConsumers = 1,
1147 .scale = 0.0f,
1148 .zeroPoint = 0,
1149 .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
1150 .channelQuant = {},
1151 .isIgnored = false,
1152 .data = TestBuffer::createFromVector<float>({})
1153 }, { // traversalOrder
1154 .type = TestOperandType::TENSOR_INT32,
1155 .dimensions = {3},
1156 .numberOfConsumers = 1,
1157 .scale = 0.0f,
1158 .zeroPoint = 0,
1159 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1160 .channelQuant = {},
1161 .isIgnored = false,
1162 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
1163 }, { // blockMap
1164 .type = TestOperandType::TENSOR_INT32,
1165 .dimensions = {0},
1166 .numberOfConsumers = 1,
1167 .scale = 0.0f,
1168 .zeroPoint = 0,
1169 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1170 .channelQuant = {},
1171 .isIgnored = false,
1172 .data = TestBuffer::createFromVector<int32_t>({})
1173 }, { // dimFormat
1174 .type = TestOperandType::TENSOR_INT32,
1175 .dimensions = {3},
1176 .numberOfConsumers = 1,
1177 .scale = 0.0f,
1178 .zeroPoint = 0,
1179 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1180 .channelQuant = {},
1181 .isIgnored = false,
1182 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
1183 }, { // dimensions
1184 .type = TestOperandType::TENSOR_INT32,
1185 .dimensions = {3},
1186 .numberOfConsumers = 1,
1187 .scale = 0.0f,
1188 .zeroPoint = 0,
1189 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1190 .channelQuant = {},
1191 .isIgnored = false,
1192 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
1193 }, { // d0ArrSegments
1194 .type = TestOperandType::TENSOR_INT32,
1195 .dimensions = {2},
1196 .numberOfConsumers = 1,
1197 .scale = 0.0f,
1198 .zeroPoint = 0,
1199 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1200 .channelQuant = {},
1201 .isIgnored = false,
1202 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1203 }, { // d0ArrIndices
1204 .type = TestOperandType::TENSOR_INT32,
1205 .dimensions = {2},
1206 .numberOfConsumers = 1,
1207 .scale = 0.0f,
1208 .zeroPoint = 0,
1209 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1210 .channelQuant = {},
1211 .isIgnored = false,
1212 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1213 }, { // d1ArrSegments
1214 .type = TestOperandType::TENSOR_INT32,
1215 .dimensions = {3},
1216 .numberOfConsumers = 1,
1217 .scale = 0.0f,
1218 .zeroPoint = 0,
1219 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1220 .channelQuant = {},
1221 .isIgnored = false,
1222 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
1223 }, { // d1ArrIndices
1224 .type = TestOperandType::TENSOR_INT32,
1225 .dimensions = {5},
1226 .numberOfConsumers = 1,
1227 .scale = 0.0f,
1228 .zeroPoint = 0,
1229 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1230 .channelQuant = {},
1231 .isIgnored = false,
1232 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
1233 }, { // d2ArrSegments
1234 .type = TestOperandType::TENSOR_INT32,
1235 .dimensions = {6},
1236 .numberOfConsumers = 1,
1237 .scale = 0.0f,
1238 .zeroPoint = 0,
1239 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1240 .channelQuant = {},
1241 .isIgnored = false,
1242 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
1243 }, { // d2ArrIndices
1244 .type = TestOperandType::TENSOR_INT32,
1245 .dimensions = {8},
1246 .numberOfConsumers = 1,
1247 .scale = 0.0f,
1248 .zeroPoint = 0,
1249 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1250 .channelQuant = {},
1251 .isIgnored = false,
1252 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
1253 }, { // denseOut
1254 .type = TestOperandType::TENSOR_FLOAT32,
1255 .dimensions = {3, 2, 4},
1256 .numberOfConsumers = 0,
1257 .scale = 0.0f,
1258 .zeroPoint = 0,
1259 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
1260 .channelQuant = {},
1261 .isIgnored = false,
1262 .data = TestBuffer::createFromVector<float>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
1263 }, { // sparseData_new
1264 .type = TestOperandType::TENSOR_FLOAT32,
1265 .dimensions = {8},
1266 .numberOfConsumers = 1,
1267 .scale = 0.0f,
1268 .zeroPoint = 0,
1269 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1270 .channelQuant = {},
1271 .isIgnored = false,
1272 .data = TestBuffer::createFromVector<float>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
1273 }, { // placeholder3
1274 .type = TestOperandType::TENSOR_FLOAT32,
1275 .dimensions = {1},
1276 .numberOfConsumers = 1,
1277 .scale = 0.0f,
1278 .zeroPoint = 0,
1279 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1280 .channelQuant = {},
1281 .isIgnored = false,
1282 .data = TestBuffer::createFromVector<float>({0.0f})
1283 }, { // param3
1284 .type = TestOperandType::INT32,
1285 .dimensions = {},
1286 .numberOfConsumers = 1,
1287 .scale = 0.0f,
1288 .zeroPoint = 0,
1289 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1290 .channelQuant = {},
1291 .isIgnored = false,
1292 .data = TestBuffer::createFromVector<int32_t>({0})
1293 }},
1294 .operations = {{
1295 .type = TestOperationType::ADD,
1296 .inputs = {12, 13, 14},
1297 .outputs = {0}
1298 }, {
1299 .type = TestOperationType::DENSIFY,
1300 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
1301 .outputs = {11}
1302 }},
1303 .inputIndexes = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12},
1304 .outputIndexes = {11}
1305 },
1306 .referenced = {},
1307 .isRelaxed = true,
1308 .expectedMultinomialDistributionTolerance = 0,
1309 .expectFailure = false,
1310 .minSupportedVersion = TestHalVersion::UNKNOWN
1311 };
1312 return model;
1313 }
1314
1315 const auto dummy_test_model_relaxed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("densify_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_relaxed_all_tensors_as_inputs_all_inputs_as_internal());
1316
1317 } // namespace generated_tests::densify_5
1318
1319 namespace generated_tests::densify_5 {
1320
get_test_model_float16()1321 const TestModel& get_test_model_float16() {
1322 static TestModel model = {
1323 .main = {
1324 .operands = {{ // sparseData
1325 .type = TestOperandType::TENSOR_FLOAT16,
1326 .dimensions = {8},
1327 .numberOfConsumers = 1,
1328 .scale = 0.0f,
1329 .zeroPoint = 0,
1330 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1331 .channelQuant = {},
1332 .isIgnored = false,
1333 .data = TestBuffer::createFromVector<_Float16>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
1334 }, { // traversalOrder
1335 .type = TestOperandType::TENSOR_INT32,
1336 .dimensions = {3},
1337 .numberOfConsumers = 1,
1338 .scale = 0.0f,
1339 .zeroPoint = 0,
1340 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1341 .channelQuant = {},
1342 .isIgnored = false,
1343 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
1344 }, { // blockMap
1345 .type = TestOperandType::TENSOR_INT32,
1346 .dimensions = {0},
1347 .numberOfConsumers = 1,
1348 .scale = 0.0f,
1349 .zeroPoint = 0,
1350 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1351 .channelQuant = {},
1352 .isIgnored = false,
1353 .data = TestBuffer::createFromVector<int32_t>({})
1354 }, { // dimFormat
1355 .type = TestOperandType::TENSOR_INT32,
1356 .dimensions = {3},
1357 .numberOfConsumers = 1,
1358 .scale = 0.0f,
1359 .zeroPoint = 0,
1360 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1361 .channelQuant = {},
1362 .isIgnored = false,
1363 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
1364 }, { // dimensions
1365 .type = TestOperandType::TENSOR_INT32,
1366 .dimensions = {3},
1367 .numberOfConsumers = 1,
1368 .scale = 0.0f,
1369 .zeroPoint = 0,
1370 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1371 .channelQuant = {},
1372 .isIgnored = false,
1373 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
1374 }, { // d0ArrSegments
1375 .type = TestOperandType::TENSOR_INT32,
1376 .dimensions = {2},
1377 .numberOfConsumers = 1,
1378 .scale = 0.0f,
1379 .zeroPoint = 0,
1380 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1381 .channelQuant = {},
1382 .isIgnored = false,
1383 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1384 }, { // d0ArrIndices
1385 .type = TestOperandType::TENSOR_INT32,
1386 .dimensions = {2},
1387 .numberOfConsumers = 1,
1388 .scale = 0.0f,
1389 .zeroPoint = 0,
1390 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1391 .channelQuant = {},
1392 .isIgnored = false,
1393 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1394 }, { // d1ArrSegments
1395 .type = TestOperandType::TENSOR_INT32,
1396 .dimensions = {3},
1397 .numberOfConsumers = 1,
1398 .scale = 0.0f,
1399 .zeroPoint = 0,
1400 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1401 .channelQuant = {},
1402 .isIgnored = false,
1403 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
1404 }, { // d1ArrIndices
1405 .type = TestOperandType::TENSOR_INT32,
1406 .dimensions = {5},
1407 .numberOfConsumers = 1,
1408 .scale = 0.0f,
1409 .zeroPoint = 0,
1410 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1411 .channelQuant = {},
1412 .isIgnored = false,
1413 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
1414 }, { // d2ArrSegments
1415 .type = TestOperandType::TENSOR_INT32,
1416 .dimensions = {6},
1417 .numberOfConsumers = 1,
1418 .scale = 0.0f,
1419 .zeroPoint = 0,
1420 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1421 .channelQuant = {},
1422 .isIgnored = false,
1423 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
1424 }, { // d2ArrIndices
1425 .type = TestOperandType::TENSOR_INT32,
1426 .dimensions = {8},
1427 .numberOfConsumers = 1,
1428 .scale = 0.0f,
1429 .zeroPoint = 0,
1430 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1431 .channelQuant = {},
1432 .isIgnored = false,
1433 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
1434 }, { // denseOut
1435 .type = TestOperandType::TENSOR_FLOAT16,
1436 .dimensions = {3, 2, 4},
1437 .numberOfConsumers = 0,
1438 .scale = 0.0f,
1439 .zeroPoint = 0,
1440 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
1441 .channelQuant = {},
1442 .isIgnored = false,
1443 .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
1444 }},
1445 .operations = {{
1446 .type = TestOperationType::DENSIFY,
1447 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
1448 .outputs = {11}
1449 }},
1450 .inputIndexes = {0},
1451 .outputIndexes = {11}
1452 },
1453 .referenced = {},
1454 .isRelaxed = false,
1455 .expectedMultinomialDistributionTolerance = 0,
1456 .expectFailure = false,
1457 .minSupportedVersion = TestHalVersion::UNKNOWN
1458 };
1459 return model;
1460 }
1461
1462 const auto dummy_test_model_float16 = TestModelManager::get().add("densify_5_float16", get_test_model_float16());
1463
1464 } // namespace generated_tests::densify_5
1465
1466 namespace generated_tests::densify_5 {
1467
get_test_model_float16_all_inputs_as_internal()1468 const TestModel& get_test_model_float16_all_inputs_as_internal() {
1469 static TestModel model = {
1470 .main = {
1471 .operands = {{ // sparseData
1472 .type = TestOperandType::TENSOR_FLOAT16,
1473 .dimensions = {8},
1474 .numberOfConsumers = 1,
1475 .scale = 0.0f,
1476 .zeroPoint = 0,
1477 .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
1478 .channelQuant = {},
1479 .isIgnored = false,
1480 .data = TestBuffer::createFromVector<_Float16>({})
1481 }, { // traversalOrder
1482 .type = TestOperandType::TENSOR_INT32,
1483 .dimensions = {3},
1484 .numberOfConsumers = 1,
1485 .scale = 0.0f,
1486 .zeroPoint = 0,
1487 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1488 .channelQuant = {},
1489 .isIgnored = false,
1490 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
1491 }, { // blockMap
1492 .type = TestOperandType::TENSOR_INT32,
1493 .dimensions = {0},
1494 .numberOfConsumers = 1,
1495 .scale = 0.0f,
1496 .zeroPoint = 0,
1497 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1498 .channelQuant = {},
1499 .isIgnored = false,
1500 .data = TestBuffer::createFromVector<int32_t>({})
1501 }, { // dimFormat
1502 .type = TestOperandType::TENSOR_INT32,
1503 .dimensions = {3},
1504 .numberOfConsumers = 1,
1505 .scale = 0.0f,
1506 .zeroPoint = 0,
1507 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1508 .channelQuant = {},
1509 .isIgnored = false,
1510 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
1511 }, { // dimensions
1512 .type = TestOperandType::TENSOR_INT32,
1513 .dimensions = {3},
1514 .numberOfConsumers = 1,
1515 .scale = 0.0f,
1516 .zeroPoint = 0,
1517 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1518 .channelQuant = {},
1519 .isIgnored = false,
1520 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
1521 }, { // d0ArrSegments
1522 .type = TestOperandType::TENSOR_INT32,
1523 .dimensions = {2},
1524 .numberOfConsumers = 1,
1525 .scale = 0.0f,
1526 .zeroPoint = 0,
1527 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1528 .channelQuant = {},
1529 .isIgnored = false,
1530 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1531 }, { // d0ArrIndices
1532 .type = TestOperandType::TENSOR_INT32,
1533 .dimensions = {2},
1534 .numberOfConsumers = 1,
1535 .scale = 0.0f,
1536 .zeroPoint = 0,
1537 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1538 .channelQuant = {},
1539 .isIgnored = false,
1540 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1541 }, { // d1ArrSegments
1542 .type = TestOperandType::TENSOR_INT32,
1543 .dimensions = {3},
1544 .numberOfConsumers = 1,
1545 .scale = 0.0f,
1546 .zeroPoint = 0,
1547 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1548 .channelQuant = {},
1549 .isIgnored = false,
1550 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
1551 }, { // d1ArrIndices
1552 .type = TestOperandType::TENSOR_INT32,
1553 .dimensions = {5},
1554 .numberOfConsumers = 1,
1555 .scale = 0.0f,
1556 .zeroPoint = 0,
1557 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1558 .channelQuant = {},
1559 .isIgnored = false,
1560 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
1561 }, { // d2ArrSegments
1562 .type = TestOperandType::TENSOR_INT32,
1563 .dimensions = {6},
1564 .numberOfConsumers = 1,
1565 .scale = 0.0f,
1566 .zeroPoint = 0,
1567 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1568 .channelQuant = {},
1569 .isIgnored = false,
1570 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
1571 }, { // d2ArrIndices
1572 .type = TestOperandType::TENSOR_INT32,
1573 .dimensions = {8},
1574 .numberOfConsumers = 1,
1575 .scale = 0.0f,
1576 .zeroPoint = 0,
1577 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1578 .channelQuant = {},
1579 .isIgnored = false,
1580 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
1581 }, { // denseOut
1582 .type = TestOperandType::TENSOR_FLOAT16,
1583 .dimensions = {3, 2, 4},
1584 .numberOfConsumers = 0,
1585 .scale = 0.0f,
1586 .zeroPoint = 0,
1587 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
1588 .channelQuant = {},
1589 .isIgnored = false,
1590 .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
1591 }, { // sparseData_new
1592 .type = TestOperandType::TENSOR_FLOAT16,
1593 .dimensions = {8},
1594 .numberOfConsumers = 1,
1595 .scale = 0.0f,
1596 .zeroPoint = 0,
1597 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1598 .channelQuant = {},
1599 .isIgnored = false,
1600 .data = TestBuffer::createFromVector<_Float16>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
1601 }, { // placeholder4
1602 .type = TestOperandType::TENSOR_FLOAT16,
1603 .dimensions = {1},
1604 .numberOfConsumers = 1,
1605 .scale = 0.0f,
1606 .zeroPoint = 0,
1607 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1608 .channelQuant = {},
1609 .isIgnored = false,
1610 .data = TestBuffer::createFromVector<_Float16>({0.0f})
1611 }, { // param4
1612 .type = TestOperandType::INT32,
1613 .dimensions = {},
1614 .numberOfConsumers = 1,
1615 .scale = 0.0f,
1616 .zeroPoint = 0,
1617 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1618 .channelQuant = {},
1619 .isIgnored = false,
1620 .data = TestBuffer::createFromVector<int32_t>({0})
1621 }},
1622 .operations = {{
1623 .type = TestOperationType::ADD,
1624 .inputs = {12, 13, 14},
1625 .outputs = {0}
1626 }, {
1627 .type = TestOperationType::DENSIFY,
1628 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
1629 .outputs = {11}
1630 }},
1631 .inputIndexes = {12},
1632 .outputIndexes = {11}
1633 },
1634 .referenced = {},
1635 .isRelaxed = false,
1636 .expectedMultinomialDistributionTolerance = 0,
1637 .expectFailure = false,
1638 .minSupportedVersion = TestHalVersion::UNKNOWN
1639 };
1640 return model;
1641 }
1642
1643 const auto dummy_test_model_float16_all_inputs_as_internal = TestModelManager::get().add("densify_5_float16_all_inputs_as_internal", get_test_model_float16_all_inputs_as_internal());
1644
1645 } // namespace generated_tests::densify_5
1646
1647 namespace generated_tests::densify_5 {
1648
get_test_model_float16_all_tensors_as_inputs()1649 const TestModel& get_test_model_float16_all_tensors_as_inputs() {
1650 static TestModel model = {
1651 .main = {
1652 .operands = {{ // sparseData
1653 .type = TestOperandType::TENSOR_FLOAT16,
1654 .dimensions = {8},
1655 .numberOfConsumers = 1,
1656 .scale = 0.0f,
1657 .zeroPoint = 0,
1658 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1659 .channelQuant = {},
1660 .isIgnored = false,
1661 .data = TestBuffer::createFromVector<_Float16>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
1662 }, { // traversalOrder
1663 .type = TestOperandType::TENSOR_INT32,
1664 .dimensions = {3},
1665 .numberOfConsumers = 1,
1666 .scale = 0.0f,
1667 .zeroPoint = 0,
1668 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1669 .channelQuant = {},
1670 .isIgnored = false,
1671 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
1672 }, { // blockMap
1673 .type = TestOperandType::TENSOR_INT32,
1674 .dimensions = {0},
1675 .numberOfConsumers = 1,
1676 .scale = 0.0f,
1677 .zeroPoint = 0,
1678 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1679 .channelQuant = {},
1680 .isIgnored = false,
1681 .data = TestBuffer::createFromVector<int32_t>({})
1682 }, { // dimFormat
1683 .type = TestOperandType::TENSOR_INT32,
1684 .dimensions = {3},
1685 .numberOfConsumers = 1,
1686 .scale = 0.0f,
1687 .zeroPoint = 0,
1688 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1689 .channelQuant = {},
1690 .isIgnored = false,
1691 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
1692 }, { // dimensions
1693 .type = TestOperandType::TENSOR_INT32,
1694 .dimensions = {3},
1695 .numberOfConsumers = 1,
1696 .scale = 0.0f,
1697 .zeroPoint = 0,
1698 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1699 .channelQuant = {},
1700 .isIgnored = false,
1701 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
1702 }, { // d0ArrSegments
1703 .type = TestOperandType::TENSOR_INT32,
1704 .dimensions = {2},
1705 .numberOfConsumers = 1,
1706 .scale = 0.0f,
1707 .zeroPoint = 0,
1708 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1709 .channelQuant = {},
1710 .isIgnored = false,
1711 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1712 }, { // d0ArrIndices
1713 .type = TestOperandType::TENSOR_INT32,
1714 .dimensions = {2},
1715 .numberOfConsumers = 1,
1716 .scale = 0.0f,
1717 .zeroPoint = 0,
1718 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1719 .channelQuant = {},
1720 .isIgnored = false,
1721 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1722 }, { // d1ArrSegments
1723 .type = TestOperandType::TENSOR_INT32,
1724 .dimensions = {3},
1725 .numberOfConsumers = 1,
1726 .scale = 0.0f,
1727 .zeroPoint = 0,
1728 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1729 .channelQuant = {},
1730 .isIgnored = false,
1731 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
1732 }, { // d1ArrIndices
1733 .type = TestOperandType::TENSOR_INT32,
1734 .dimensions = {5},
1735 .numberOfConsumers = 1,
1736 .scale = 0.0f,
1737 .zeroPoint = 0,
1738 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1739 .channelQuant = {},
1740 .isIgnored = false,
1741 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
1742 }, { // d2ArrSegments
1743 .type = TestOperandType::TENSOR_INT32,
1744 .dimensions = {6},
1745 .numberOfConsumers = 1,
1746 .scale = 0.0f,
1747 .zeroPoint = 0,
1748 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1749 .channelQuant = {},
1750 .isIgnored = false,
1751 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
1752 }, { // d2ArrIndices
1753 .type = TestOperandType::TENSOR_INT32,
1754 .dimensions = {8},
1755 .numberOfConsumers = 1,
1756 .scale = 0.0f,
1757 .zeroPoint = 0,
1758 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1759 .channelQuant = {},
1760 .isIgnored = false,
1761 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
1762 }, { // denseOut
1763 .type = TestOperandType::TENSOR_FLOAT16,
1764 .dimensions = {3, 2, 4},
1765 .numberOfConsumers = 0,
1766 .scale = 0.0f,
1767 .zeroPoint = 0,
1768 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
1769 .channelQuant = {},
1770 .isIgnored = false,
1771 .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
1772 }},
1773 .operations = {{
1774 .type = TestOperationType::DENSIFY,
1775 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
1776 .outputs = {11}
1777 }},
1778 .inputIndexes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
1779 .outputIndexes = {11}
1780 },
1781 .referenced = {},
1782 .isRelaxed = false,
1783 .expectedMultinomialDistributionTolerance = 0,
1784 .expectFailure = false,
1785 .minSupportedVersion = TestHalVersion::UNKNOWN
1786 };
1787 return model;
1788 }
1789
1790 const auto dummy_test_model_float16_all_tensors_as_inputs = TestModelManager::get().add("densify_5_float16_all_tensors_as_inputs", get_test_model_float16_all_tensors_as_inputs());
1791
1792 } // namespace generated_tests::densify_5
1793
1794 namespace generated_tests::densify_5 {
1795
get_test_model_float16_all_tensors_as_inputs_all_inputs_as_internal()1796 const TestModel& get_test_model_float16_all_tensors_as_inputs_all_inputs_as_internal() {
1797 static TestModel model = {
1798 .main = {
1799 .operands = {{ // sparseData
1800 .type = TestOperandType::TENSOR_FLOAT16,
1801 .dimensions = {8},
1802 .numberOfConsumers = 1,
1803 .scale = 0.0f,
1804 .zeroPoint = 0,
1805 .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
1806 .channelQuant = {},
1807 .isIgnored = false,
1808 .data = TestBuffer::createFromVector<_Float16>({})
1809 }, { // traversalOrder
1810 .type = TestOperandType::TENSOR_INT32,
1811 .dimensions = {3},
1812 .numberOfConsumers = 1,
1813 .scale = 0.0f,
1814 .zeroPoint = 0,
1815 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1816 .channelQuant = {},
1817 .isIgnored = false,
1818 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
1819 }, { // blockMap
1820 .type = TestOperandType::TENSOR_INT32,
1821 .dimensions = {0},
1822 .numberOfConsumers = 1,
1823 .scale = 0.0f,
1824 .zeroPoint = 0,
1825 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1826 .channelQuant = {},
1827 .isIgnored = false,
1828 .data = TestBuffer::createFromVector<int32_t>({})
1829 }, { // dimFormat
1830 .type = TestOperandType::TENSOR_INT32,
1831 .dimensions = {3},
1832 .numberOfConsumers = 1,
1833 .scale = 0.0f,
1834 .zeroPoint = 0,
1835 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1836 .channelQuant = {},
1837 .isIgnored = false,
1838 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
1839 }, { // dimensions
1840 .type = TestOperandType::TENSOR_INT32,
1841 .dimensions = {3},
1842 .numberOfConsumers = 1,
1843 .scale = 0.0f,
1844 .zeroPoint = 0,
1845 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1846 .channelQuant = {},
1847 .isIgnored = false,
1848 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
1849 }, { // d0ArrSegments
1850 .type = TestOperandType::TENSOR_INT32,
1851 .dimensions = {2},
1852 .numberOfConsumers = 1,
1853 .scale = 0.0f,
1854 .zeroPoint = 0,
1855 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1856 .channelQuant = {},
1857 .isIgnored = false,
1858 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1859 }, { // d0ArrIndices
1860 .type = TestOperandType::TENSOR_INT32,
1861 .dimensions = {2},
1862 .numberOfConsumers = 1,
1863 .scale = 0.0f,
1864 .zeroPoint = 0,
1865 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1866 .channelQuant = {},
1867 .isIgnored = false,
1868 .data = TestBuffer::createFromVector<int32_t>({0, 2})
1869 }, { // d1ArrSegments
1870 .type = TestOperandType::TENSOR_INT32,
1871 .dimensions = {3},
1872 .numberOfConsumers = 1,
1873 .scale = 0.0f,
1874 .zeroPoint = 0,
1875 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1876 .channelQuant = {},
1877 .isIgnored = false,
1878 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
1879 }, { // d1ArrIndices
1880 .type = TestOperandType::TENSOR_INT32,
1881 .dimensions = {5},
1882 .numberOfConsumers = 1,
1883 .scale = 0.0f,
1884 .zeroPoint = 0,
1885 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1886 .channelQuant = {},
1887 .isIgnored = false,
1888 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
1889 }, { // d2ArrSegments
1890 .type = TestOperandType::TENSOR_INT32,
1891 .dimensions = {6},
1892 .numberOfConsumers = 1,
1893 .scale = 0.0f,
1894 .zeroPoint = 0,
1895 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1896 .channelQuant = {},
1897 .isIgnored = false,
1898 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
1899 }, { // d2ArrIndices
1900 .type = TestOperandType::TENSOR_INT32,
1901 .dimensions = {8},
1902 .numberOfConsumers = 1,
1903 .scale = 0.0f,
1904 .zeroPoint = 0,
1905 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1906 .channelQuant = {},
1907 .isIgnored = false,
1908 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
1909 }, { // denseOut
1910 .type = TestOperandType::TENSOR_FLOAT16,
1911 .dimensions = {3, 2, 4},
1912 .numberOfConsumers = 0,
1913 .scale = 0.0f,
1914 .zeroPoint = 0,
1915 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
1916 .channelQuant = {},
1917 .isIgnored = false,
1918 .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, 0.0f, 0.0f, 7.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 3.0f, 2.0f, 0.0f, 8.0f, 9.0f})
1919 }, { // sparseData_new
1920 .type = TestOperandType::TENSOR_FLOAT16,
1921 .dimensions = {8},
1922 .numberOfConsumers = 1,
1923 .scale = 0.0f,
1924 .zeroPoint = 0,
1925 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1926 .channelQuant = {},
1927 .isIgnored = false,
1928 .data = TestBuffer::createFromVector<_Float16>({1.0f, 7.0f, 5.0f, 2.0f, 4.0f, 8.0f, 3.0f, 9.0f})
1929 }, { // placeholder5
1930 .type = TestOperandType::TENSOR_FLOAT16,
1931 .dimensions = {1},
1932 .numberOfConsumers = 1,
1933 .scale = 0.0f,
1934 .zeroPoint = 0,
1935 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1936 .channelQuant = {},
1937 .isIgnored = false,
1938 .data = TestBuffer::createFromVector<_Float16>({0.0f})
1939 }, { // param5
1940 .type = TestOperandType::INT32,
1941 .dimensions = {},
1942 .numberOfConsumers = 1,
1943 .scale = 0.0f,
1944 .zeroPoint = 0,
1945 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1946 .channelQuant = {},
1947 .isIgnored = false,
1948 .data = TestBuffer::createFromVector<int32_t>({0})
1949 }},
1950 .operations = {{
1951 .type = TestOperationType::ADD,
1952 .inputs = {12, 13, 14},
1953 .outputs = {0}
1954 }, {
1955 .type = TestOperationType::DENSIFY,
1956 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
1957 .outputs = {11}
1958 }},
1959 .inputIndexes = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12},
1960 .outputIndexes = {11}
1961 },
1962 .referenced = {},
1963 .isRelaxed = false,
1964 .expectedMultinomialDistributionTolerance = 0,
1965 .expectFailure = false,
1966 .minSupportedVersion = TestHalVersion::UNKNOWN
1967 };
1968 return model;
1969 }
1970
1971 const auto dummy_test_model_float16_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("densify_5_float16_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_float16_all_tensors_as_inputs_all_inputs_as_internal());
1972
1973 } // namespace generated_tests::densify_5
1974
1975 namespace generated_tests::densify_5 {
1976
get_test_model_int32()1977 const TestModel& get_test_model_int32() {
1978 static TestModel model = {
1979 .main = {
1980 .operands = {{ // sparseData
1981 .type = TestOperandType::TENSOR_INT32,
1982 .dimensions = {8},
1983 .numberOfConsumers = 1,
1984 .scale = 0.0f,
1985 .zeroPoint = 0,
1986 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
1987 .channelQuant = {},
1988 .isIgnored = false,
1989 .data = TestBuffer::createFromVector<int32_t>({1, 7, 5, 2, 4, 8, 3, 9})
1990 }, { // traversalOrder
1991 .type = TestOperandType::TENSOR_INT32,
1992 .dimensions = {3},
1993 .numberOfConsumers = 1,
1994 .scale = 0.0f,
1995 .zeroPoint = 0,
1996 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
1997 .channelQuant = {},
1998 .isIgnored = false,
1999 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
2000 }, { // blockMap
2001 .type = TestOperandType::TENSOR_INT32,
2002 .dimensions = {0},
2003 .numberOfConsumers = 1,
2004 .scale = 0.0f,
2005 .zeroPoint = 0,
2006 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2007 .channelQuant = {},
2008 .isIgnored = false,
2009 .data = TestBuffer::createFromVector<int32_t>({})
2010 }, { // dimFormat
2011 .type = TestOperandType::TENSOR_INT32,
2012 .dimensions = {3},
2013 .numberOfConsumers = 1,
2014 .scale = 0.0f,
2015 .zeroPoint = 0,
2016 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2017 .channelQuant = {},
2018 .isIgnored = false,
2019 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
2020 }, { // dimensions
2021 .type = TestOperandType::TENSOR_INT32,
2022 .dimensions = {3},
2023 .numberOfConsumers = 1,
2024 .scale = 0.0f,
2025 .zeroPoint = 0,
2026 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2027 .channelQuant = {},
2028 .isIgnored = false,
2029 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
2030 }, { // d0ArrSegments
2031 .type = TestOperandType::TENSOR_INT32,
2032 .dimensions = {2},
2033 .numberOfConsumers = 1,
2034 .scale = 0.0f,
2035 .zeroPoint = 0,
2036 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2037 .channelQuant = {},
2038 .isIgnored = false,
2039 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2040 }, { // d0ArrIndices
2041 .type = TestOperandType::TENSOR_INT32,
2042 .dimensions = {2},
2043 .numberOfConsumers = 1,
2044 .scale = 0.0f,
2045 .zeroPoint = 0,
2046 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2047 .channelQuant = {},
2048 .isIgnored = false,
2049 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2050 }, { // d1ArrSegments
2051 .type = TestOperandType::TENSOR_INT32,
2052 .dimensions = {3},
2053 .numberOfConsumers = 1,
2054 .scale = 0.0f,
2055 .zeroPoint = 0,
2056 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2057 .channelQuant = {},
2058 .isIgnored = false,
2059 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
2060 }, { // d1ArrIndices
2061 .type = TestOperandType::TENSOR_INT32,
2062 .dimensions = {5},
2063 .numberOfConsumers = 1,
2064 .scale = 0.0f,
2065 .zeroPoint = 0,
2066 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2067 .channelQuant = {},
2068 .isIgnored = false,
2069 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
2070 }, { // d2ArrSegments
2071 .type = TestOperandType::TENSOR_INT32,
2072 .dimensions = {6},
2073 .numberOfConsumers = 1,
2074 .scale = 0.0f,
2075 .zeroPoint = 0,
2076 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2077 .channelQuant = {},
2078 .isIgnored = false,
2079 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
2080 }, { // d2ArrIndices
2081 .type = TestOperandType::TENSOR_INT32,
2082 .dimensions = {8},
2083 .numberOfConsumers = 1,
2084 .scale = 0.0f,
2085 .zeroPoint = 0,
2086 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2087 .channelQuant = {},
2088 .isIgnored = false,
2089 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
2090 }, { // denseOut
2091 .type = TestOperandType::TENSOR_INT32,
2092 .dimensions = {3, 2, 4},
2093 .numberOfConsumers = 0,
2094 .scale = 0.0f,
2095 .zeroPoint = 0,
2096 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
2097 .channelQuant = {},
2098 .isIgnored = false,
2099 .data = TestBuffer::createFromVector<int32_t>({1, 0, 0, 0, 7, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 2, 0, 8, 9})
2100 }},
2101 .operations = {{
2102 .type = TestOperationType::DENSIFY,
2103 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
2104 .outputs = {11}
2105 }},
2106 .inputIndexes = {0},
2107 .outputIndexes = {11}
2108 },
2109 .referenced = {},
2110 .isRelaxed = false,
2111 .expectedMultinomialDistributionTolerance = 0,
2112 .expectFailure = false,
2113 .minSupportedVersion = TestHalVersion::UNKNOWN
2114 };
2115 return model;
2116 }
2117
2118 const auto dummy_test_model_int32 = TestModelManager::get().add("densify_5_int32", get_test_model_int32());
2119
2120 } // namespace generated_tests::densify_5
2121
2122 namespace generated_tests::densify_5 {
2123
get_test_model_int32_all_tensors_as_inputs()2124 const TestModel& get_test_model_int32_all_tensors_as_inputs() {
2125 static TestModel model = {
2126 .main = {
2127 .operands = {{ // sparseData
2128 .type = TestOperandType::TENSOR_INT32,
2129 .dimensions = {8},
2130 .numberOfConsumers = 1,
2131 .scale = 0.0f,
2132 .zeroPoint = 0,
2133 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2134 .channelQuant = {},
2135 .isIgnored = false,
2136 .data = TestBuffer::createFromVector<int32_t>({1, 7, 5, 2, 4, 8, 3, 9})
2137 }, { // traversalOrder
2138 .type = TestOperandType::TENSOR_INT32,
2139 .dimensions = {3},
2140 .numberOfConsumers = 1,
2141 .scale = 0.0f,
2142 .zeroPoint = 0,
2143 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2144 .channelQuant = {},
2145 .isIgnored = false,
2146 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
2147 }, { // blockMap
2148 .type = TestOperandType::TENSOR_INT32,
2149 .dimensions = {0},
2150 .numberOfConsumers = 1,
2151 .scale = 0.0f,
2152 .zeroPoint = 0,
2153 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2154 .channelQuant = {},
2155 .isIgnored = false,
2156 .data = TestBuffer::createFromVector<int32_t>({})
2157 }, { // dimFormat
2158 .type = TestOperandType::TENSOR_INT32,
2159 .dimensions = {3},
2160 .numberOfConsumers = 1,
2161 .scale = 0.0f,
2162 .zeroPoint = 0,
2163 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2164 .channelQuant = {},
2165 .isIgnored = false,
2166 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
2167 }, { // dimensions
2168 .type = TestOperandType::TENSOR_INT32,
2169 .dimensions = {3},
2170 .numberOfConsumers = 1,
2171 .scale = 0.0f,
2172 .zeroPoint = 0,
2173 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2174 .channelQuant = {},
2175 .isIgnored = false,
2176 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
2177 }, { // d0ArrSegments
2178 .type = TestOperandType::TENSOR_INT32,
2179 .dimensions = {2},
2180 .numberOfConsumers = 1,
2181 .scale = 0.0f,
2182 .zeroPoint = 0,
2183 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2184 .channelQuant = {},
2185 .isIgnored = false,
2186 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2187 }, { // d0ArrIndices
2188 .type = TestOperandType::TENSOR_INT32,
2189 .dimensions = {2},
2190 .numberOfConsumers = 1,
2191 .scale = 0.0f,
2192 .zeroPoint = 0,
2193 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2194 .channelQuant = {},
2195 .isIgnored = false,
2196 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2197 }, { // d1ArrSegments
2198 .type = TestOperandType::TENSOR_INT32,
2199 .dimensions = {3},
2200 .numberOfConsumers = 1,
2201 .scale = 0.0f,
2202 .zeroPoint = 0,
2203 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2204 .channelQuant = {},
2205 .isIgnored = false,
2206 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
2207 }, { // d1ArrIndices
2208 .type = TestOperandType::TENSOR_INT32,
2209 .dimensions = {5},
2210 .numberOfConsumers = 1,
2211 .scale = 0.0f,
2212 .zeroPoint = 0,
2213 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2214 .channelQuant = {},
2215 .isIgnored = false,
2216 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
2217 }, { // d2ArrSegments
2218 .type = TestOperandType::TENSOR_INT32,
2219 .dimensions = {6},
2220 .numberOfConsumers = 1,
2221 .scale = 0.0f,
2222 .zeroPoint = 0,
2223 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2224 .channelQuant = {},
2225 .isIgnored = false,
2226 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
2227 }, { // d2ArrIndices
2228 .type = TestOperandType::TENSOR_INT32,
2229 .dimensions = {8},
2230 .numberOfConsumers = 1,
2231 .scale = 0.0f,
2232 .zeroPoint = 0,
2233 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2234 .channelQuant = {},
2235 .isIgnored = false,
2236 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
2237 }, { // denseOut
2238 .type = TestOperandType::TENSOR_INT32,
2239 .dimensions = {3, 2, 4},
2240 .numberOfConsumers = 0,
2241 .scale = 0.0f,
2242 .zeroPoint = 0,
2243 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
2244 .channelQuant = {},
2245 .isIgnored = false,
2246 .data = TestBuffer::createFromVector<int32_t>({1, 0, 0, 0, 7, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 2, 0, 8, 9})
2247 }},
2248 .operations = {{
2249 .type = TestOperationType::DENSIFY,
2250 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
2251 .outputs = {11}
2252 }},
2253 .inputIndexes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
2254 .outputIndexes = {11}
2255 },
2256 .referenced = {},
2257 .isRelaxed = false,
2258 .expectedMultinomialDistributionTolerance = 0,
2259 .expectFailure = false,
2260 .minSupportedVersion = TestHalVersion::UNKNOWN
2261 };
2262 return model;
2263 }
2264
2265 const auto dummy_test_model_int32_all_tensors_as_inputs = TestModelManager::get().add("densify_5_int32_all_tensors_as_inputs", get_test_model_int32_all_tensors_as_inputs());
2266
2267 } // namespace generated_tests::densify_5
2268
2269 namespace generated_tests::densify_5 {
2270
get_test_model_float32()2271 const TestModel& get_test_model_float32() {
2272 static TestModel model = {
2273 .main = {
2274 .operands = {{ // sparseData
2275 .type = TestOperandType::TENSOR_QUANT8_SYMM,
2276 .dimensions = {8},
2277 .numberOfConsumers = 1,
2278 .scale = 3.0f,
2279 .zeroPoint = 0,
2280 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2281 .channelQuant = {},
2282 .isIgnored = false,
2283 .data = TestBuffer::createFromVector<int8_t>({0, 2, 2, 1, 1, 3, 1, 3})
2284 }, { // traversalOrder
2285 .type = TestOperandType::TENSOR_INT32,
2286 .dimensions = {3},
2287 .numberOfConsumers = 1,
2288 .scale = 0.0f,
2289 .zeroPoint = 0,
2290 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2291 .channelQuant = {},
2292 .isIgnored = false,
2293 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
2294 }, { // blockMap
2295 .type = TestOperandType::TENSOR_INT32,
2296 .dimensions = {0},
2297 .numberOfConsumers = 1,
2298 .scale = 0.0f,
2299 .zeroPoint = 0,
2300 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2301 .channelQuant = {},
2302 .isIgnored = false,
2303 .data = TestBuffer::createFromVector<int32_t>({})
2304 }, { // dimFormat
2305 .type = TestOperandType::TENSOR_INT32,
2306 .dimensions = {3},
2307 .numberOfConsumers = 1,
2308 .scale = 0.0f,
2309 .zeroPoint = 0,
2310 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2311 .channelQuant = {},
2312 .isIgnored = false,
2313 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
2314 }, { // dimensions
2315 .type = TestOperandType::TENSOR_INT32,
2316 .dimensions = {3},
2317 .numberOfConsumers = 1,
2318 .scale = 0.0f,
2319 .zeroPoint = 0,
2320 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2321 .channelQuant = {},
2322 .isIgnored = false,
2323 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
2324 }, { // d0ArrSegments
2325 .type = TestOperandType::TENSOR_INT32,
2326 .dimensions = {2},
2327 .numberOfConsumers = 1,
2328 .scale = 0.0f,
2329 .zeroPoint = 0,
2330 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2331 .channelQuant = {},
2332 .isIgnored = false,
2333 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2334 }, { // d0ArrIndices
2335 .type = TestOperandType::TENSOR_INT32,
2336 .dimensions = {2},
2337 .numberOfConsumers = 1,
2338 .scale = 0.0f,
2339 .zeroPoint = 0,
2340 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2341 .channelQuant = {},
2342 .isIgnored = false,
2343 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2344 }, { // d1ArrSegments
2345 .type = TestOperandType::TENSOR_INT32,
2346 .dimensions = {3},
2347 .numberOfConsumers = 1,
2348 .scale = 0.0f,
2349 .zeroPoint = 0,
2350 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2351 .channelQuant = {},
2352 .isIgnored = false,
2353 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
2354 }, { // d1ArrIndices
2355 .type = TestOperandType::TENSOR_INT32,
2356 .dimensions = {5},
2357 .numberOfConsumers = 1,
2358 .scale = 0.0f,
2359 .zeroPoint = 0,
2360 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2361 .channelQuant = {},
2362 .isIgnored = false,
2363 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
2364 }, { // d2ArrSegments
2365 .type = TestOperandType::TENSOR_INT32,
2366 .dimensions = {6},
2367 .numberOfConsumers = 1,
2368 .scale = 0.0f,
2369 .zeroPoint = 0,
2370 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2371 .channelQuant = {},
2372 .isIgnored = false,
2373 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
2374 }, { // d2ArrIndices
2375 .type = TestOperandType::TENSOR_INT32,
2376 .dimensions = {8},
2377 .numberOfConsumers = 1,
2378 .scale = 0.0f,
2379 .zeroPoint = 0,
2380 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2381 .channelQuant = {},
2382 .isIgnored = false,
2383 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
2384 }, { // denseOut
2385 .type = TestOperandType::TENSOR_QUANT8_SYMM,
2386 .dimensions = {3, 2, 4},
2387 .numberOfConsumers = 0,
2388 .scale = 3.0f,
2389 .zeroPoint = 0,
2390 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
2391 .channelQuant = {},
2392 .isIgnored = false,
2393 .data = TestBuffer::createFromVector<int8_t>({0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 3, 3})
2394 }},
2395 .operations = {{
2396 .type = TestOperationType::DENSIFY,
2397 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
2398 .outputs = {11}
2399 }},
2400 .inputIndexes = {0},
2401 .outputIndexes = {11}
2402 },
2403 .referenced = {},
2404 .isRelaxed = false,
2405 .expectedMultinomialDistributionTolerance = 0,
2406 .expectFailure = false,
2407 .minSupportedVersion = TestHalVersion::UNKNOWN
2408 };
2409 return model;
2410 }
2411
2412 const auto dummy_test_model_float32 = TestModelManager::get().add("densify_5_float32", get_test_model_float32());
2413
2414 } // namespace generated_tests::densify_5
2415
2416 namespace generated_tests::densify_5 {
2417
get_test_model_float32_all_tensors_as_inputs()2418 const TestModel& get_test_model_float32_all_tensors_as_inputs() {
2419 static TestModel model = {
2420 .main = {
2421 .operands = {{ // sparseData
2422 .type = TestOperandType::TENSOR_QUANT8_SYMM,
2423 .dimensions = {8},
2424 .numberOfConsumers = 1,
2425 .scale = 3.0f,
2426 .zeroPoint = 0,
2427 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2428 .channelQuant = {},
2429 .isIgnored = false,
2430 .data = TestBuffer::createFromVector<int8_t>({0, 2, 2, 1, 1, 3, 1, 3})
2431 }, { // traversalOrder
2432 .type = TestOperandType::TENSOR_INT32,
2433 .dimensions = {3},
2434 .numberOfConsumers = 1,
2435 .scale = 0.0f,
2436 .zeroPoint = 0,
2437 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2438 .channelQuant = {},
2439 .isIgnored = false,
2440 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
2441 }, { // blockMap
2442 .type = TestOperandType::TENSOR_INT32,
2443 .dimensions = {0},
2444 .numberOfConsumers = 1,
2445 .scale = 0.0f,
2446 .zeroPoint = 0,
2447 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2448 .channelQuant = {},
2449 .isIgnored = false,
2450 .data = TestBuffer::createFromVector<int32_t>({})
2451 }, { // dimFormat
2452 .type = TestOperandType::TENSOR_INT32,
2453 .dimensions = {3},
2454 .numberOfConsumers = 1,
2455 .scale = 0.0f,
2456 .zeroPoint = 0,
2457 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2458 .channelQuant = {},
2459 .isIgnored = false,
2460 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
2461 }, { // dimensions
2462 .type = TestOperandType::TENSOR_INT32,
2463 .dimensions = {3},
2464 .numberOfConsumers = 1,
2465 .scale = 0.0f,
2466 .zeroPoint = 0,
2467 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2468 .channelQuant = {},
2469 .isIgnored = false,
2470 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
2471 }, { // d0ArrSegments
2472 .type = TestOperandType::TENSOR_INT32,
2473 .dimensions = {2},
2474 .numberOfConsumers = 1,
2475 .scale = 0.0f,
2476 .zeroPoint = 0,
2477 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2478 .channelQuant = {},
2479 .isIgnored = false,
2480 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2481 }, { // d0ArrIndices
2482 .type = TestOperandType::TENSOR_INT32,
2483 .dimensions = {2},
2484 .numberOfConsumers = 1,
2485 .scale = 0.0f,
2486 .zeroPoint = 0,
2487 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2488 .channelQuant = {},
2489 .isIgnored = false,
2490 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2491 }, { // d1ArrSegments
2492 .type = TestOperandType::TENSOR_INT32,
2493 .dimensions = {3},
2494 .numberOfConsumers = 1,
2495 .scale = 0.0f,
2496 .zeroPoint = 0,
2497 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2498 .channelQuant = {},
2499 .isIgnored = false,
2500 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
2501 }, { // d1ArrIndices
2502 .type = TestOperandType::TENSOR_INT32,
2503 .dimensions = {5},
2504 .numberOfConsumers = 1,
2505 .scale = 0.0f,
2506 .zeroPoint = 0,
2507 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2508 .channelQuant = {},
2509 .isIgnored = false,
2510 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
2511 }, { // d2ArrSegments
2512 .type = TestOperandType::TENSOR_INT32,
2513 .dimensions = {6},
2514 .numberOfConsumers = 1,
2515 .scale = 0.0f,
2516 .zeroPoint = 0,
2517 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2518 .channelQuant = {},
2519 .isIgnored = false,
2520 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
2521 }, { // d2ArrIndices
2522 .type = TestOperandType::TENSOR_INT32,
2523 .dimensions = {8},
2524 .numberOfConsumers = 1,
2525 .scale = 0.0f,
2526 .zeroPoint = 0,
2527 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2528 .channelQuant = {},
2529 .isIgnored = false,
2530 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
2531 }, { // denseOut
2532 .type = TestOperandType::TENSOR_QUANT8_SYMM,
2533 .dimensions = {3, 2, 4},
2534 .numberOfConsumers = 0,
2535 .scale = 3.0f,
2536 .zeroPoint = 0,
2537 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
2538 .channelQuant = {},
2539 .isIgnored = false,
2540 .data = TestBuffer::createFromVector<int8_t>({0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 3, 3})
2541 }},
2542 .operations = {{
2543 .type = TestOperationType::DENSIFY,
2544 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
2545 .outputs = {11}
2546 }},
2547 .inputIndexes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
2548 .outputIndexes = {11}
2549 },
2550 .referenced = {},
2551 .isRelaxed = false,
2552 .expectedMultinomialDistributionTolerance = 0,
2553 .expectFailure = false,
2554 .minSupportedVersion = TestHalVersion::UNKNOWN
2555 };
2556 return model;
2557 }
2558
2559 const auto dummy_test_model_float32_all_tensors_as_inputs = TestModelManager::get().add("densify_5_float32_all_tensors_as_inputs", get_test_model_float32_all_tensors_as_inputs());
2560
2561 } // namespace generated_tests::densify_5
2562
2563 namespace generated_tests::densify_5 {
2564
get_test_model_quant8()2565 const TestModel& get_test_model_quant8() {
2566 static TestModel model = {
2567 .main = {
2568 .operands = {{ // sparseData
2569 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
2570 .dimensions = {8},
2571 .numberOfConsumers = 1,
2572 .scale = 2.25f,
2573 .zeroPoint = 3,
2574 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2575 .channelQuant = {},
2576 .isIgnored = false,
2577 .data = TestBuffer::createFromVector<uint8_t>({3, 6, 5, 4, 5, 7, 4, 7})
2578 }, { // traversalOrder
2579 .type = TestOperandType::TENSOR_INT32,
2580 .dimensions = {3},
2581 .numberOfConsumers = 1,
2582 .scale = 0.0f,
2583 .zeroPoint = 0,
2584 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2585 .channelQuant = {},
2586 .isIgnored = false,
2587 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
2588 }, { // blockMap
2589 .type = TestOperandType::TENSOR_INT32,
2590 .dimensions = {0},
2591 .numberOfConsumers = 1,
2592 .scale = 0.0f,
2593 .zeroPoint = 0,
2594 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2595 .channelQuant = {},
2596 .isIgnored = false,
2597 .data = TestBuffer::createFromVector<int32_t>({})
2598 }, { // dimFormat
2599 .type = TestOperandType::TENSOR_INT32,
2600 .dimensions = {3},
2601 .numberOfConsumers = 1,
2602 .scale = 0.0f,
2603 .zeroPoint = 0,
2604 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2605 .channelQuant = {},
2606 .isIgnored = false,
2607 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
2608 }, { // dimensions
2609 .type = TestOperandType::TENSOR_INT32,
2610 .dimensions = {3},
2611 .numberOfConsumers = 1,
2612 .scale = 0.0f,
2613 .zeroPoint = 0,
2614 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2615 .channelQuant = {},
2616 .isIgnored = false,
2617 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
2618 }, { // d0ArrSegments
2619 .type = TestOperandType::TENSOR_INT32,
2620 .dimensions = {2},
2621 .numberOfConsumers = 1,
2622 .scale = 0.0f,
2623 .zeroPoint = 0,
2624 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2625 .channelQuant = {},
2626 .isIgnored = false,
2627 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2628 }, { // d0ArrIndices
2629 .type = TestOperandType::TENSOR_INT32,
2630 .dimensions = {2},
2631 .numberOfConsumers = 1,
2632 .scale = 0.0f,
2633 .zeroPoint = 0,
2634 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2635 .channelQuant = {},
2636 .isIgnored = false,
2637 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2638 }, { // d1ArrSegments
2639 .type = TestOperandType::TENSOR_INT32,
2640 .dimensions = {3},
2641 .numberOfConsumers = 1,
2642 .scale = 0.0f,
2643 .zeroPoint = 0,
2644 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2645 .channelQuant = {},
2646 .isIgnored = false,
2647 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
2648 }, { // d1ArrIndices
2649 .type = TestOperandType::TENSOR_INT32,
2650 .dimensions = {5},
2651 .numberOfConsumers = 1,
2652 .scale = 0.0f,
2653 .zeroPoint = 0,
2654 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2655 .channelQuant = {},
2656 .isIgnored = false,
2657 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
2658 }, { // d2ArrSegments
2659 .type = TestOperandType::TENSOR_INT32,
2660 .dimensions = {6},
2661 .numberOfConsumers = 1,
2662 .scale = 0.0f,
2663 .zeroPoint = 0,
2664 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2665 .channelQuant = {},
2666 .isIgnored = false,
2667 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
2668 }, { // d2ArrIndices
2669 .type = TestOperandType::TENSOR_INT32,
2670 .dimensions = {8},
2671 .numberOfConsumers = 1,
2672 .scale = 0.0f,
2673 .zeroPoint = 0,
2674 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2675 .channelQuant = {},
2676 .isIgnored = false,
2677 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
2678 }, { // denseOut
2679 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
2680 .dimensions = {3, 2, 4},
2681 .numberOfConsumers = 0,
2682 .scale = 2.25f,
2683 .zeroPoint = 3,
2684 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
2685 .channelQuant = {},
2686 .isIgnored = false,
2687 .data = TestBuffer::createFromVector<uint8_t>({3, 3, 3, 3, 6, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, 3, 7, 7})
2688 }},
2689 .operations = {{
2690 .type = TestOperationType::DENSIFY,
2691 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
2692 .outputs = {11}
2693 }},
2694 .inputIndexes = {0},
2695 .outputIndexes = {11}
2696 },
2697 .referenced = {},
2698 .isRelaxed = false,
2699 .expectedMultinomialDistributionTolerance = 0,
2700 .expectFailure = false,
2701 .minSupportedVersion = TestHalVersion::UNKNOWN
2702 };
2703 return model;
2704 }
2705
2706 const auto dummy_test_model_quant8 = TestModelManager::get().add("densify_5_quant8", get_test_model_quant8());
2707
2708 } // namespace generated_tests::densify_5
2709
2710 namespace generated_tests::densify_5 {
2711
get_test_model_quant8_all_inputs_as_internal()2712 const TestModel& get_test_model_quant8_all_inputs_as_internal() {
2713 static TestModel model = {
2714 .main = {
2715 .operands = {{ // sparseData
2716 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
2717 .dimensions = {8},
2718 .numberOfConsumers = 1,
2719 .scale = 2.25f,
2720 .zeroPoint = 3,
2721 .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
2722 .channelQuant = {},
2723 .isIgnored = false,
2724 .data = TestBuffer::createFromVector<uint8_t>({})
2725 }, { // traversalOrder
2726 .type = TestOperandType::TENSOR_INT32,
2727 .dimensions = {3},
2728 .numberOfConsumers = 1,
2729 .scale = 0.0f,
2730 .zeroPoint = 0,
2731 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2732 .channelQuant = {},
2733 .isIgnored = false,
2734 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
2735 }, { // blockMap
2736 .type = TestOperandType::TENSOR_INT32,
2737 .dimensions = {0},
2738 .numberOfConsumers = 1,
2739 .scale = 0.0f,
2740 .zeroPoint = 0,
2741 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2742 .channelQuant = {},
2743 .isIgnored = false,
2744 .data = TestBuffer::createFromVector<int32_t>({})
2745 }, { // dimFormat
2746 .type = TestOperandType::TENSOR_INT32,
2747 .dimensions = {3},
2748 .numberOfConsumers = 1,
2749 .scale = 0.0f,
2750 .zeroPoint = 0,
2751 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2752 .channelQuant = {},
2753 .isIgnored = false,
2754 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
2755 }, { // dimensions
2756 .type = TestOperandType::TENSOR_INT32,
2757 .dimensions = {3},
2758 .numberOfConsumers = 1,
2759 .scale = 0.0f,
2760 .zeroPoint = 0,
2761 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2762 .channelQuant = {},
2763 .isIgnored = false,
2764 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
2765 }, { // d0ArrSegments
2766 .type = TestOperandType::TENSOR_INT32,
2767 .dimensions = {2},
2768 .numberOfConsumers = 1,
2769 .scale = 0.0f,
2770 .zeroPoint = 0,
2771 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2772 .channelQuant = {},
2773 .isIgnored = false,
2774 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2775 }, { // d0ArrIndices
2776 .type = TestOperandType::TENSOR_INT32,
2777 .dimensions = {2},
2778 .numberOfConsumers = 1,
2779 .scale = 0.0f,
2780 .zeroPoint = 0,
2781 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2782 .channelQuant = {},
2783 .isIgnored = false,
2784 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2785 }, { // d1ArrSegments
2786 .type = TestOperandType::TENSOR_INT32,
2787 .dimensions = {3},
2788 .numberOfConsumers = 1,
2789 .scale = 0.0f,
2790 .zeroPoint = 0,
2791 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2792 .channelQuant = {},
2793 .isIgnored = false,
2794 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
2795 }, { // d1ArrIndices
2796 .type = TestOperandType::TENSOR_INT32,
2797 .dimensions = {5},
2798 .numberOfConsumers = 1,
2799 .scale = 0.0f,
2800 .zeroPoint = 0,
2801 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2802 .channelQuant = {},
2803 .isIgnored = false,
2804 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
2805 }, { // d2ArrSegments
2806 .type = TestOperandType::TENSOR_INT32,
2807 .dimensions = {6},
2808 .numberOfConsumers = 1,
2809 .scale = 0.0f,
2810 .zeroPoint = 0,
2811 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2812 .channelQuant = {},
2813 .isIgnored = false,
2814 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
2815 }, { // d2ArrIndices
2816 .type = TestOperandType::TENSOR_INT32,
2817 .dimensions = {8},
2818 .numberOfConsumers = 1,
2819 .scale = 0.0f,
2820 .zeroPoint = 0,
2821 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2822 .channelQuant = {},
2823 .isIgnored = false,
2824 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
2825 }, { // denseOut
2826 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
2827 .dimensions = {3, 2, 4},
2828 .numberOfConsumers = 0,
2829 .scale = 2.25f,
2830 .zeroPoint = 3,
2831 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
2832 .channelQuant = {},
2833 .isIgnored = false,
2834 .data = TestBuffer::createFromVector<uint8_t>({3, 3, 3, 3, 6, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, 3, 7, 7})
2835 }, { // sparseData_new
2836 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
2837 .dimensions = {8},
2838 .numberOfConsumers = 1,
2839 .scale = 2.25f,
2840 .zeroPoint = 3,
2841 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2842 .channelQuant = {},
2843 .isIgnored = false,
2844 .data = TestBuffer::createFromVector<uint8_t>({3, 6, 5, 4, 5, 7, 4, 7})
2845 }, { // placeholder6
2846 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
2847 .dimensions = {1},
2848 .numberOfConsumers = 1,
2849 .scale = 2.25f,
2850 .zeroPoint = 3,
2851 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2852 .channelQuant = {},
2853 .isIgnored = false,
2854 .data = TestBuffer::createFromVector<uint8_t>({3})
2855 }, { // param6
2856 .type = TestOperandType::INT32,
2857 .dimensions = {},
2858 .numberOfConsumers = 1,
2859 .scale = 0.0f,
2860 .zeroPoint = 0,
2861 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
2862 .channelQuant = {},
2863 .isIgnored = false,
2864 .data = TestBuffer::createFromVector<int32_t>({0})
2865 }},
2866 .operations = {{
2867 .type = TestOperationType::ADD,
2868 .inputs = {12, 13, 14},
2869 .outputs = {0}
2870 }, {
2871 .type = TestOperationType::DENSIFY,
2872 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
2873 .outputs = {11}
2874 }},
2875 .inputIndexes = {12},
2876 .outputIndexes = {11}
2877 },
2878 .referenced = {},
2879 .isRelaxed = false,
2880 .expectedMultinomialDistributionTolerance = 0,
2881 .expectFailure = false,
2882 .minSupportedVersion = TestHalVersion::UNKNOWN
2883 };
2884 return model;
2885 }
2886
2887 const auto dummy_test_model_quant8_all_inputs_as_internal = TestModelManager::get().add("densify_5_quant8_all_inputs_as_internal", get_test_model_quant8_all_inputs_as_internal());
2888
2889 } // namespace generated_tests::densify_5
2890
2891 namespace generated_tests::densify_5 {
2892
get_test_model_quant8_all_tensors_as_inputs()2893 const TestModel& get_test_model_quant8_all_tensors_as_inputs() {
2894 static TestModel model = {
2895 .main = {
2896 .operands = {{ // sparseData
2897 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
2898 .dimensions = {8},
2899 .numberOfConsumers = 1,
2900 .scale = 2.25f,
2901 .zeroPoint = 3,
2902 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2903 .channelQuant = {},
2904 .isIgnored = false,
2905 .data = TestBuffer::createFromVector<uint8_t>({3, 6, 5, 4, 5, 7, 4, 7})
2906 }, { // traversalOrder
2907 .type = TestOperandType::TENSOR_INT32,
2908 .dimensions = {3},
2909 .numberOfConsumers = 1,
2910 .scale = 0.0f,
2911 .zeroPoint = 0,
2912 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2913 .channelQuant = {},
2914 .isIgnored = false,
2915 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
2916 }, { // blockMap
2917 .type = TestOperandType::TENSOR_INT32,
2918 .dimensions = {0},
2919 .numberOfConsumers = 1,
2920 .scale = 0.0f,
2921 .zeroPoint = 0,
2922 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2923 .channelQuant = {},
2924 .isIgnored = false,
2925 .data = TestBuffer::createFromVector<int32_t>({})
2926 }, { // dimFormat
2927 .type = TestOperandType::TENSOR_INT32,
2928 .dimensions = {3},
2929 .numberOfConsumers = 1,
2930 .scale = 0.0f,
2931 .zeroPoint = 0,
2932 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2933 .channelQuant = {},
2934 .isIgnored = false,
2935 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
2936 }, { // dimensions
2937 .type = TestOperandType::TENSOR_INT32,
2938 .dimensions = {3},
2939 .numberOfConsumers = 1,
2940 .scale = 0.0f,
2941 .zeroPoint = 0,
2942 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2943 .channelQuant = {},
2944 .isIgnored = false,
2945 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
2946 }, { // d0ArrSegments
2947 .type = TestOperandType::TENSOR_INT32,
2948 .dimensions = {2},
2949 .numberOfConsumers = 1,
2950 .scale = 0.0f,
2951 .zeroPoint = 0,
2952 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2953 .channelQuant = {},
2954 .isIgnored = false,
2955 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2956 }, { // d0ArrIndices
2957 .type = TestOperandType::TENSOR_INT32,
2958 .dimensions = {2},
2959 .numberOfConsumers = 1,
2960 .scale = 0.0f,
2961 .zeroPoint = 0,
2962 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2963 .channelQuant = {},
2964 .isIgnored = false,
2965 .data = TestBuffer::createFromVector<int32_t>({0, 2})
2966 }, { // d1ArrSegments
2967 .type = TestOperandType::TENSOR_INT32,
2968 .dimensions = {3},
2969 .numberOfConsumers = 1,
2970 .scale = 0.0f,
2971 .zeroPoint = 0,
2972 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2973 .channelQuant = {},
2974 .isIgnored = false,
2975 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
2976 }, { // d1ArrIndices
2977 .type = TestOperandType::TENSOR_INT32,
2978 .dimensions = {5},
2979 .numberOfConsumers = 1,
2980 .scale = 0.0f,
2981 .zeroPoint = 0,
2982 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2983 .channelQuant = {},
2984 .isIgnored = false,
2985 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
2986 }, { // d2ArrSegments
2987 .type = TestOperandType::TENSOR_INT32,
2988 .dimensions = {6},
2989 .numberOfConsumers = 1,
2990 .scale = 0.0f,
2991 .zeroPoint = 0,
2992 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
2993 .channelQuant = {},
2994 .isIgnored = false,
2995 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
2996 }, { // d2ArrIndices
2997 .type = TestOperandType::TENSOR_INT32,
2998 .dimensions = {8},
2999 .numberOfConsumers = 1,
3000 .scale = 0.0f,
3001 .zeroPoint = 0,
3002 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3003 .channelQuant = {},
3004 .isIgnored = false,
3005 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
3006 }, { // denseOut
3007 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
3008 .dimensions = {3, 2, 4},
3009 .numberOfConsumers = 0,
3010 .scale = 2.25f,
3011 .zeroPoint = 3,
3012 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
3013 .channelQuant = {},
3014 .isIgnored = false,
3015 .data = TestBuffer::createFromVector<uint8_t>({3, 3, 3, 3, 6, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, 3, 7, 7})
3016 }},
3017 .operations = {{
3018 .type = TestOperationType::DENSIFY,
3019 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
3020 .outputs = {11}
3021 }},
3022 .inputIndexes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
3023 .outputIndexes = {11}
3024 },
3025 .referenced = {},
3026 .isRelaxed = false,
3027 .expectedMultinomialDistributionTolerance = 0,
3028 .expectFailure = false,
3029 .minSupportedVersion = TestHalVersion::UNKNOWN
3030 };
3031 return model;
3032 }
3033
3034 const auto dummy_test_model_quant8_all_tensors_as_inputs = TestModelManager::get().add("densify_5_quant8_all_tensors_as_inputs", get_test_model_quant8_all_tensors_as_inputs());
3035
3036 } // namespace generated_tests::densify_5
3037
3038 namespace generated_tests::densify_5 {
3039
get_test_model_quant8_all_tensors_as_inputs_all_inputs_as_internal()3040 const TestModel& get_test_model_quant8_all_tensors_as_inputs_all_inputs_as_internal() {
3041 static TestModel model = {
3042 .main = {
3043 .operands = {{ // sparseData
3044 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
3045 .dimensions = {8},
3046 .numberOfConsumers = 1,
3047 .scale = 2.25f,
3048 .zeroPoint = 3,
3049 .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
3050 .channelQuant = {},
3051 .isIgnored = false,
3052 .data = TestBuffer::createFromVector<uint8_t>({})
3053 }, { // traversalOrder
3054 .type = TestOperandType::TENSOR_INT32,
3055 .dimensions = {3},
3056 .numberOfConsumers = 1,
3057 .scale = 0.0f,
3058 .zeroPoint = 0,
3059 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3060 .channelQuant = {},
3061 .isIgnored = false,
3062 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
3063 }, { // blockMap
3064 .type = TestOperandType::TENSOR_INT32,
3065 .dimensions = {0},
3066 .numberOfConsumers = 1,
3067 .scale = 0.0f,
3068 .zeroPoint = 0,
3069 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3070 .channelQuant = {},
3071 .isIgnored = false,
3072 .data = TestBuffer::createFromVector<int32_t>({})
3073 }, { // dimFormat
3074 .type = TestOperandType::TENSOR_INT32,
3075 .dimensions = {3},
3076 .numberOfConsumers = 1,
3077 .scale = 0.0f,
3078 .zeroPoint = 0,
3079 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3080 .channelQuant = {},
3081 .isIgnored = false,
3082 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
3083 }, { // dimensions
3084 .type = TestOperandType::TENSOR_INT32,
3085 .dimensions = {3},
3086 .numberOfConsumers = 1,
3087 .scale = 0.0f,
3088 .zeroPoint = 0,
3089 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3090 .channelQuant = {},
3091 .isIgnored = false,
3092 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
3093 }, { // d0ArrSegments
3094 .type = TestOperandType::TENSOR_INT32,
3095 .dimensions = {2},
3096 .numberOfConsumers = 1,
3097 .scale = 0.0f,
3098 .zeroPoint = 0,
3099 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3100 .channelQuant = {},
3101 .isIgnored = false,
3102 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3103 }, { // d0ArrIndices
3104 .type = TestOperandType::TENSOR_INT32,
3105 .dimensions = {2},
3106 .numberOfConsumers = 1,
3107 .scale = 0.0f,
3108 .zeroPoint = 0,
3109 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3110 .channelQuant = {},
3111 .isIgnored = false,
3112 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3113 }, { // d1ArrSegments
3114 .type = TestOperandType::TENSOR_INT32,
3115 .dimensions = {3},
3116 .numberOfConsumers = 1,
3117 .scale = 0.0f,
3118 .zeroPoint = 0,
3119 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3120 .channelQuant = {},
3121 .isIgnored = false,
3122 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
3123 }, { // d1ArrIndices
3124 .type = TestOperandType::TENSOR_INT32,
3125 .dimensions = {5},
3126 .numberOfConsumers = 1,
3127 .scale = 0.0f,
3128 .zeroPoint = 0,
3129 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3130 .channelQuant = {},
3131 .isIgnored = false,
3132 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
3133 }, { // d2ArrSegments
3134 .type = TestOperandType::TENSOR_INT32,
3135 .dimensions = {6},
3136 .numberOfConsumers = 1,
3137 .scale = 0.0f,
3138 .zeroPoint = 0,
3139 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3140 .channelQuant = {},
3141 .isIgnored = false,
3142 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
3143 }, { // d2ArrIndices
3144 .type = TestOperandType::TENSOR_INT32,
3145 .dimensions = {8},
3146 .numberOfConsumers = 1,
3147 .scale = 0.0f,
3148 .zeroPoint = 0,
3149 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3150 .channelQuant = {},
3151 .isIgnored = false,
3152 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
3153 }, { // denseOut
3154 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
3155 .dimensions = {3, 2, 4},
3156 .numberOfConsumers = 0,
3157 .scale = 2.25f,
3158 .zeroPoint = 3,
3159 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
3160 .channelQuant = {},
3161 .isIgnored = false,
3162 .data = TestBuffer::createFromVector<uint8_t>({3, 3, 3, 3, 6, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, 3, 7, 7})
3163 }, { // sparseData_new
3164 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
3165 .dimensions = {8},
3166 .numberOfConsumers = 1,
3167 .scale = 2.25f,
3168 .zeroPoint = 3,
3169 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3170 .channelQuant = {},
3171 .isIgnored = false,
3172 .data = TestBuffer::createFromVector<uint8_t>({3, 6, 5, 4, 5, 7, 4, 7})
3173 }, { // placeholder7
3174 .type = TestOperandType::TENSOR_QUANT8_ASYMM,
3175 .dimensions = {1},
3176 .numberOfConsumers = 1,
3177 .scale = 2.25f,
3178 .zeroPoint = 3,
3179 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3180 .channelQuant = {},
3181 .isIgnored = false,
3182 .data = TestBuffer::createFromVector<uint8_t>({3})
3183 }, { // param7
3184 .type = TestOperandType::INT32,
3185 .dimensions = {},
3186 .numberOfConsumers = 1,
3187 .scale = 0.0f,
3188 .zeroPoint = 0,
3189 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3190 .channelQuant = {},
3191 .isIgnored = false,
3192 .data = TestBuffer::createFromVector<int32_t>({0})
3193 }},
3194 .operations = {{
3195 .type = TestOperationType::ADD,
3196 .inputs = {12, 13, 14},
3197 .outputs = {0}
3198 }, {
3199 .type = TestOperationType::DENSIFY,
3200 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
3201 .outputs = {11}
3202 }},
3203 .inputIndexes = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12},
3204 .outputIndexes = {11}
3205 },
3206 .referenced = {},
3207 .isRelaxed = false,
3208 .expectedMultinomialDistributionTolerance = 0,
3209 .expectFailure = false,
3210 .minSupportedVersion = TestHalVersion::UNKNOWN
3211 };
3212 return model;
3213 }
3214
3215 const auto dummy_test_model_quant8_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("densify_5_quant8_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_quant8_all_tensors_as_inputs_all_inputs_as_internal());
3216
3217 } // namespace generated_tests::densify_5
3218
3219 namespace generated_tests::densify_5 {
3220
get_test_model_quant8_signed()3221 const TestModel& get_test_model_quant8_signed() {
3222 static TestModel model = {
3223 .main = {
3224 .operands = {{ // sparseData
3225 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3226 .dimensions = {8},
3227 .numberOfConsumers = 1,
3228 .scale = 2.875f,
3229 .zeroPoint = -4,
3230 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3231 .channelQuant = {},
3232 .isIgnored = false,
3233 .data = TestBuffer::createFromVector<int8_t>({-4, -2, -2, -3, -3, -1, -3, -1})
3234 }, { // traversalOrder
3235 .type = TestOperandType::TENSOR_INT32,
3236 .dimensions = {3},
3237 .numberOfConsumers = 1,
3238 .scale = 0.0f,
3239 .zeroPoint = 0,
3240 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3241 .channelQuant = {},
3242 .isIgnored = false,
3243 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
3244 }, { // blockMap
3245 .type = TestOperandType::TENSOR_INT32,
3246 .dimensions = {0},
3247 .numberOfConsumers = 1,
3248 .scale = 0.0f,
3249 .zeroPoint = 0,
3250 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3251 .channelQuant = {},
3252 .isIgnored = false,
3253 .data = TestBuffer::createFromVector<int32_t>({})
3254 }, { // dimFormat
3255 .type = TestOperandType::TENSOR_INT32,
3256 .dimensions = {3},
3257 .numberOfConsumers = 1,
3258 .scale = 0.0f,
3259 .zeroPoint = 0,
3260 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3261 .channelQuant = {},
3262 .isIgnored = false,
3263 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
3264 }, { // dimensions
3265 .type = TestOperandType::TENSOR_INT32,
3266 .dimensions = {3},
3267 .numberOfConsumers = 1,
3268 .scale = 0.0f,
3269 .zeroPoint = 0,
3270 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3271 .channelQuant = {},
3272 .isIgnored = false,
3273 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
3274 }, { // d0ArrSegments
3275 .type = TestOperandType::TENSOR_INT32,
3276 .dimensions = {2},
3277 .numberOfConsumers = 1,
3278 .scale = 0.0f,
3279 .zeroPoint = 0,
3280 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3281 .channelQuant = {},
3282 .isIgnored = false,
3283 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3284 }, { // d0ArrIndices
3285 .type = TestOperandType::TENSOR_INT32,
3286 .dimensions = {2},
3287 .numberOfConsumers = 1,
3288 .scale = 0.0f,
3289 .zeroPoint = 0,
3290 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3291 .channelQuant = {},
3292 .isIgnored = false,
3293 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3294 }, { // d1ArrSegments
3295 .type = TestOperandType::TENSOR_INT32,
3296 .dimensions = {3},
3297 .numberOfConsumers = 1,
3298 .scale = 0.0f,
3299 .zeroPoint = 0,
3300 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3301 .channelQuant = {},
3302 .isIgnored = false,
3303 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
3304 }, { // d1ArrIndices
3305 .type = TestOperandType::TENSOR_INT32,
3306 .dimensions = {5},
3307 .numberOfConsumers = 1,
3308 .scale = 0.0f,
3309 .zeroPoint = 0,
3310 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3311 .channelQuant = {},
3312 .isIgnored = false,
3313 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
3314 }, { // d2ArrSegments
3315 .type = TestOperandType::TENSOR_INT32,
3316 .dimensions = {6},
3317 .numberOfConsumers = 1,
3318 .scale = 0.0f,
3319 .zeroPoint = 0,
3320 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3321 .channelQuant = {},
3322 .isIgnored = false,
3323 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
3324 }, { // d2ArrIndices
3325 .type = TestOperandType::TENSOR_INT32,
3326 .dimensions = {8},
3327 .numberOfConsumers = 1,
3328 .scale = 0.0f,
3329 .zeroPoint = 0,
3330 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3331 .channelQuant = {},
3332 .isIgnored = false,
3333 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
3334 }, { // denseOut
3335 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3336 .dimensions = {3, 2, 4},
3337 .numberOfConsumers = 0,
3338 .scale = 2.875f,
3339 .zeroPoint = -4,
3340 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
3341 .channelQuant = {},
3342 .isIgnored = false,
3343 .data = TestBuffer::createFromVector<int8_t>({-4, -4, -4, -4, -2, -4, -2, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -4, -1, -1})
3344 }},
3345 .operations = {{
3346 .type = TestOperationType::DENSIFY,
3347 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
3348 .outputs = {11}
3349 }},
3350 .inputIndexes = {0},
3351 .outputIndexes = {11}
3352 },
3353 .referenced = {},
3354 .isRelaxed = false,
3355 .expectedMultinomialDistributionTolerance = 0,
3356 .expectFailure = false,
3357 .minSupportedVersion = TestHalVersion::UNKNOWN
3358 };
3359 return model;
3360 }
3361
3362 const auto dummy_test_model_quant8_signed = TestModelManager::get().add("densify_5_quant8_signed", get_test_model_quant8_signed());
3363
3364 } // namespace generated_tests::densify_5
3365
3366 namespace generated_tests::densify_5 {
3367
get_test_model_quant8_signed_all_inputs_as_internal()3368 const TestModel& get_test_model_quant8_signed_all_inputs_as_internal() {
3369 static TestModel model = {
3370 .main = {
3371 .operands = {{ // sparseData
3372 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3373 .dimensions = {8},
3374 .numberOfConsumers = 1,
3375 .scale = 2.875f,
3376 .zeroPoint = -4,
3377 .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
3378 .channelQuant = {},
3379 .isIgnored = false,
3380 .data = TestBuffer::createFromVector<int8_t>({})
3381 }, { // traversalOrder
3382 .type = TestOperandType::TENSOR_INT32,
3383 .dimensions = {3},
3384 .numberOfConsumers = 1,
3385 .scale = 0.0f,
3386 .zeroPoint = 0,
3387 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3388 .channelQuant = {},
3389 .isIgnored = false,
3390 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
3391 }, { // blockMap
3392 .type = TestOperandType::TENSOR_INT32,
3393 .dimensions = {0},
3394 .numberOfConsumers = 1,
3395 .scale = 0.0f,
3396 .zeroPoint = 0,
3397 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3398 .channelQuant = {},
3399 .isIgnored = false,
3400 .data = TestBuffer::createFromVector<int32_t>({})
3401 }, { // dimFormat
3402 .type = TestOperandType::TENSOR_INT32,
3403 .dimensions = {3},
3404 .numberOfConsumers = 1,
3405 .scale = 0.0f,
3406 .zeroPoint = 0,
3407 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3408 .channelQuant = {},
3409 .isIgnored = false,
3410 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
3411 }, { // dimensions
3412 .type = TestOperandType::TENSOR_INT32,
3413 .dimensions = {3},
3414 .numberOfConsumers = 1,
3415 .scale = 0.0f,
3416 .zeroPoint = 0,
3417 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3418 .channelQuant = {},
3419 .isIgnored = false,
3420 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
3421 }, { // d0ArrSegments
3422 .type = TestOperandType::TENSOR_INT32,
3423 .dimensions = {2},
3424 .numberOfConsumers = 1,
3425 .scale = 0.0f,
3426 .zeroPoint = 0,
3427 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3428 .channelQuant = {},
3429 .isIgnored = false,
3430 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3431 }, { // d0ArrIndices
3432 .type = TestOperandType::TENSOR_INT32,
3433 .dimensions = {2},
3434 .numberOfConsumers = 1,
3435 .scale = 0.0f,
3436 .zeroPoint = 0,
3437 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3438 .channelQuant = {},
3439 .isIgnored = false,
3440 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3441 }, { // d1ArrSegments
3442 .type = TestOperandType::TENSOR_INT32,
3443 .dimensions = {3},
3444 .numberOfConsumers = 1,
3445 .scale = 0.0f,
3446 .zeroPoint = 0,
3447 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3448 .channelQuant = {},
3449 .isIgnored = false,
3450 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
3451 }, { // d1ArrIndices
3452 .type = TestOperandType::TENSOR_INT32,
3453 .dimensions = {5},
3454 .numberOfConsumers = 1,
3455 .scale = 0.0f,
3456 .zeroPoint = 0,
3457 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3458 .channelQuant = {},
3459 .isIgnored = false,
3460 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
3461 }, { // d2ArrSegments
3462 .type = TestOperandType::TENSOR_INT32,
3463 .dimensions = {6},
3464 .numberOfConsumers = 1,
3465 .scale = 0.0f,
3466 .zeroPoint = 0,
3467 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3468 .channelQuant = {},
3469 .isIgnored = false,
3470 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
3471 }, { // d2ArrIndices
3472 .type = TestOperandType::TENSOR_INT32,
3473 .dimensions = {8},
3474 .numberOfConsumers = 1,
3475 .scale = 0.0f,
3476 .zeroPoint = 0,
3477 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3478 .channelQuant = {},
3479 .isIgnored = false,
3480 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
3481 }, { // denseOut
3482 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3483 .dimensions = {3, 2, 4},
3484 .numberOfConsumers = 0,
3485 .scale = 2.875f,
3486 .zeroPoint = -4,
3487 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
3488 .channelQuant = {},
3489 .isIgnored = false,
3490 .data = TestBuffer::createFromVector<int8_t>({-4, -4, -4, -4, -2, -4, -2, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -4, -1, -1})
3491 }, { // sparseData_new
3492 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3493 .dimensions = {8},
3494 .numberOfConsumers = 1,
3495 .scale = 2.875f,
3496 .zeroPoint = -4,
3497 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3498 .channelQuant = {},
3499 .isIgnored = false,
3500 .data = TestBuffer::createFromVector<int8_t>({-4, -2, -2, -3, -3, -1, -3, -1})
3501 }, { // placeholder8
3502 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3503 .dimensions = {1},
3504 .numberOfConsumers = 1,
3505 .scale = 2.875f,
3506 .zeroPoint = -4,
3507 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3508 .channelQuant = {},
3509 .isIgnored = false,
3510 .data = TestBuffer::createFromVector<int8_t>({-4})
3511 }, { // param8
3512 .type = TestOperandType::INT32,
3513 .dimensions = {},
3514 .numberOfConsumers = 1,
3515 .scale = 0.0f,
3516 .zeroPoint = 0,
3517 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3518 .channelQuant = {},
3519 .isIgnored = false,
3520 .data = TestBuffer::createFromVector<int32_t>({0})
3521 }},
3522 .operations = {{
3523 .type = TestOperationType::ADD,
3524 .inputs = {12, 13, 14},
3525 .outputs = {0}
3526 }, {
3527 .type = TestOperationType::DENSIFY,
3528 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
3529 .outputs = {11}
3530 }},
3531 .inputIndexes = {12},
3532 .outputIndexes = {11}
3533 },
3534 .referenced = {},
3535 .isRelaxed = false,
3536 .expectedMultinomialDistributionTolerance = 0,
3537 .expectFailure = false,
3538 .minSupportedVersion = TestHalVersion::UNKNOWN
3539 };
3540 return model;
3541 }
3542
3543 const auto dummy_test_model_quant8_signed_all_inputs_as_internal = TestModelManager::get().add("densify_5_quant8_signed_all_inputs_as_internal", get_test_model_quant8_signed_all_inputs_as_internal());
3544
3545 } // namespace generated_tests::densify_5
3546
3547 namespace generated_tests::densify_5 {
3548
get_test_model_quant8_signed_all_tensors_as_inputs()3549 const TestModel& get_test_model_quant8_signed_all_tensors_as_inputs() {
3550 static TestModel model = {
3551 .main = {
3552 .operands = {{ // sparseData
3553 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3554 .dimensions = {8},
3555 .numberOfConsumers = 1,
3556 .scale = 2.875f,
3557 .zeroPoint = -4,
3558 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3559 .channelQuant = {},
3560 .isIgnored = false,
3561 .data = TestBuffer::createFromVector<int8_t>({-4, -2, -2, -3, -3, -1, -3, -1})
3562 }, { // traversalOrder
3563 .type = TestOperandType::TENSOR_INT32,
3564 .dimensions = {3},
3565 .numberOfConsumers = 1,
3566 .scale = 0.0f,
3567 .zeroPoint = 0,
3568 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3569 .channelQuant = {},
3570 .isIgnored = false,
3571 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
3572 }, { // blockMap
3573 .type = TestOperandType::TENSOR_INT32,
3574 .dimensions = {0},
3575 .numberOfConsumers = 1,
3576 .scale = 0.0f,
3577 .zeroPoint = 0,
3578 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3579 .channelQuant = {},
3580 .isIgnored = false,
3581 .data = TestBuffer::createFromVector<int32_t>({})
3582 }, { // dimFormat
3583 .type = TestOperandType::TENSOR_INT32,
3584 .dimensions = {3},
3585 .numberOfConsumers = 1,
3586 .scale = 0.0f,
3587 .zeroPoint = 0,
3588 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3589 .channelQuant = {},
3590 .isIgnored = false,
3591 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
3592 }, { // dimensions
3593 .type = TestOperandType::TENSOR_INT32,
3594 .dimensions = {3},
3595 .numberOfConsumers = 1,
3596 .scale = 0.0f,
3597 .zeroPoint = 0,
3598 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3599 .channelQuant = {},
3600 .isIgnored = false,
3601 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
3602 }, { // d0ArrSegments
3603 .type = TestOperandType::TENSOR_INT32,
3604 .dimensions = {2},
3605 .numberOfConsumers = 1,
3606 .scale = 0.0f,
3607 .zeroPoint = 0,
3608 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3609 .channelQuant = {},
3610 .isIgnored = false,
3611 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3612 }, { // d0ArrIndices
3613 .type = TestOperandType::TENSOR_INT32,
3614 .dimensions = {2},
3615 .numberOfConsumers = 1,
3616 .scale = 0.0f,
3617 .zeroPoint = 0,
3618 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3619 .channelQuant = {},
3620 .isIgnored = false,
3621 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3622 }, { // d1ArrSegments
3623 .type = TestOperandType::TENSOR_INT32,
3624 .dimensions = {3},
3625 .numberOfConsumers = 1,
3626 .scale = 0.0f,
3627 .zeroPoint = 0,
3628 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3629 .channelQuant = {},
3630 .isIgnored = false,
3631 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
3632 }, { // d1ArrIndices
3633 .type = TestOperandType::TENSOR_INT32,
3634 .dimensions = {5},
3635 .numberOfConsumers = 1,
3636 .scale = 0.0f,
3637 .zeroPoint = 0,
3638 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3639 .channelQuant = {},
3640 .isIgnored = false,
3641 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
3642 }, { // d2ArrSegments
3643 .type = TestOperandType::TENSOR_INT32,
3644 .dimensions = {6},
3645 .numberOfConsumers = 1,
3646 .scale = 0.0f,
3647 .zeroPoint = 0,
3648 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3649 .channelQuant = {},
3650 .isIgnored = false,
3651 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
3652 }, { // d2ArrIndices
3653 .type = TestOperandType::TENSOR_INT32,
3654 .dimensions = {8},
3655 .numberOfConsumers = 1,
3656 .scale = 0.0f,
3657 .zeroPoint = 0,
3658 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3659 .channelQuant = {},
3660 .isIgnored = false,
3661 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
3662 }, { // denseOut
3663 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3664 .dimensions = {3, 2, 4},
3665 .numberOfConsumers = 0,
3666 .scale = 2.875f,
3667 .zeroPoint = -4,
3668 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
3669 .channelQuant = {},
3670 .isIgnored = false,
3671 .data = TestBuffer::createFromVector<int8_t>({-4, -4, -4, -4, -2, -4, -2, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -4, -1, -1})
3672 }},
3673 .operations = {{
3674 .type = TestOperationType::DENSIFY,
3675 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
3676 .outputs = {11}
3677 }},
3678 .inputIndexes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
3679 .outputIndexes = {11}
3680 },
3681 .referenced = {},
3682 .isRelaxed = false,
3683 .expectedMultinomialDistributionTolerance = 0,
3684 .expectFailure = false,
3685 .minSupportedVersion = TestHalVersion::UNKNOWN
3686 };
3687 return model;
3688 }
3689
3690 const auto dummy_test_model_quant8_signed_all_tensors_as_inputs = TestModelManager::get().add("densify_5_quant8_signed_all_tensors_as_inputs", get_test_model_quant8_signed_all_tensors_as_inputs());
3691
3692 } // namespace generated_tests::densify_5
3693
3694 namespace generated_tests::densify_5 {
3695
get_test_model_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal()3696 const TestModel& get_test_model_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal() {
3697 static TestModel model = {
3698 .main = {
3699 .operands = {{ // sparseData
3700 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3701 .dimensions = {8},
3702 .numberOfConsumers = 1,
3703 .scale = 2.875f,
3704 .zeroPoint = -4,
3705 .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
3706 .channelQuant = {},
3707 .isIgnored = false,
3708 .data = TestBuffer::createFromVector<int8_t>({})
3709 }, { // traversalOrder
3710 .type = TestOperandType::TENSOR_INT32,
3711 .dimensions = {3},
3712 .numberOfConsumers = 1,
3713 .scale = 0.0f,
3714 .zeroPoint = 0,
3715 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3716 .channelQuant = {},
3717 .isIgnored = false,
3718 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
3719 }, { // blockMap
3720 .type = TestOperandType::TENSOR_INT32,
3721 .dimensions = {0},
3722 .numberOfConsumers = 1,
3723 .scale = 0.0f,
3724 .zeroPoint = 0,
3725 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3726 .channelQuant = {},
3727 .isIgnored = false,
3728 .data = TestBuffer::createFromVector<int32_t>({})
3729 }, { // dimFormat
3730 .type = TestOperandType::TENSOR_INT32,
3731 .dimensions = {3},
3732 .numberOfConsumers = 1,
3733 .scale = 0.0f,
3734 .zeroPoint = 0,
3735 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3736 .channelQuant = {},
3737 .isIgnored = false,
3738 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
3739 }, { // dimensions
3740 .type = TestOperandType::TENSOR_INT32,
3741 .dimensions = {3},
3742 .numberOfConsumers = 1,
3743 .scale = 0.0f,
3744 .zeroPoint = 0,
3745 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3746 .channelQuant = {},
3747 .isIgnored = false,
3748 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
3749 }, { // d0ArrSegments
3750 .type = TestOperandType::TENSOR_INT32,
3751 .dimensions = {2},
3752 .numberOfConsumers = 1,
3753 .scale = 0.0f,
3754 .zeroPoint = 0,
3755 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3756 .channelQuant = {},
3757 .isIgnored = false,
3758 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3759 }, { // d0ArrIndices
3760 .type = TestOperandType::TENSOR_INT32,
3761 .dimensions = {2},
3762 .numberOfConsumers = 1,
3763 .scale = 0.0f,
3764 .zeroPoint = 0,
3765 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3766 .channelQuant = {},
3767 .isIgnored = false,
3768 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3769 }, { // d1ArrSegments
3770 .type = TestOperandType::TENSOR_INT32,
3771 .dimensions = {3},
3772 .numberOfConsumers = 1,
3773 .scale = 0.0f,
3774 .zeroPoint = 0,
3775 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3776 .channelQuant = {},
3777 .isIgnored = false,
3778 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
3779 }, { // d1ArrIndices
3780 .type = TestOperandType::TENSOR_INT32,
3781 .dimensions = {5},
3782 .numberOfConsumers = 1,
3783 .scale = 0.0f,
3784 .zeroPoint = 0,
3785 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3786 .channelQuant = {},
3787 .isIgnored = false,
3788 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
3789 }, { // d2ArrSegments
3790 .type = TestOperandType::TENSOR_INT32,
3791 .dimensions = {6},
3792 .numberOfConsumers = 1,
3793 .scale = 0.0f,
3794 .zeroPoint = 0,
3795 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3796 .channelQuant = {},
3797 .isIgnored = false,
3798 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
3799 }, { // d2ArrIndices
3800 .type = TestOperandType::TENSOR_INT32,
3801 .dimensions = {8},
3802 .numberOfConsumers = 1,
3803 .scale = 0.0f,
3804 .zeroPoint = 0,
3805 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3806 .channelQuant = {},
3807 .isIgnored = false,
3808 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
3809 }, { // denseOut
3810 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3811 .dimensions = {3, 2, 4},
3812 .numberOfConsumers = 0,
3813 .scale = 2.875f,
3814 .zeroPoint = -4,
3815 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
3816 .channelQuant = {},
3817 .isIgnored = false,
3818 .data = TestBuffer::createFromVector<int8_t>({-4, -4, -4, -4, -2, -4, -2, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -4, -1, -1})
3819 }, { // sparseData_new
3820 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3821 .dimensions = {8},
3822 .numberOfConsumers = 1,
3823 .scale = 2.875f,
3824 .zeroPoint = -4,
3825 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3826 .channelQuant = {},
3827 .isIgnored = false,
3828 .data = TestBuffer::createFromVector<int8_t>({-4, -2, -2, -3, -3, -1, -3, -1})
3829 }, { // placeholder9
3830 .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED,
3831 .dimensions = {1},
3832 .numberOfConsumers = 1,
3833 .scale = 2.875f,
3834 .zeroPoint = -4,
3835 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3836 .channelQuant = {},
3837 .isIgnored = false,
3838 .data = TestBuffer::createFromVector<int8_t>({-4})
3839 }, { // param9
3840 .type = TestOperandType::INT32,
3841 .dimensions = {},
3842 .numberOfConsumers = 1,
3843 .scale = 0.0f,
3844 .zeroPoint = 0,
3845 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3846 .channelQuant = {},
3847 .isIgnored = false,
3848 .data = TestBuffer::createFromVector<int32_t>({0})
3849 }},
3850 .operations = {{
3851 .type = TestOperationType::ADD,
3852 .inputs = {12, 13, 14},
3853 .outputs = {0}
3854 }, {
3855 .type = TestOperationType::DENSIFY,
3856 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
3857 .outputs = {11}
3858 }},
3859 .inputIndexes = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12},
3860 .outputIndexes = {11}
3861 },
3862 .referenced = {},
3863 .isRelaxed = false,
3864 .expectedMultinomialDistributionTolerance = 0,
3865 .expectFailure = false,
3866 .minSupportedVersion = TestHalVersion::UNKNOWN
3867 };
3868 return model;
3869 }
3870
3871 const auto dummy_test_model_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("densify_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal());
3872
3873 } // namespace generated_tests::densify_5
3874
3875 namespace generated_tests::densify_5 {
3876
get_test_model_float32_2()3877 const TestModel& get_test_model_float32_2() {
3878 static TestModel model = {
3879 .main = {
3880 .operands = {{ // sparseData
3881 .type = TestOperandType::TENSOR_QUANT16_SYMM,
3882 .dimensions = {8},
3883 .numberOfConsumers = 1,
3884 .scale = 3.25f,
3885 .zeroPoint = 0,
3886 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
3887 .channelQuant = {},
3888 .isIgnored = false,
3889 .data = TestBuffer::createFromVector<int16_t>({0, 2, 2, 1, 1, 2, 1, 3})
3890 }, { // traversalOrder
3891 .type = TestOperandType::TENSOR_INT32,
3892 .dimensions = {3},
3893 .numberOfConsumers = 1,
3894 .scale = 0.0f,
3895 .zeroPoint = 0,
3896 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3897 .channelQuant = {},
3898 .isIgnored = false,
3899 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
3900 }, { // blockMap
3901 .type = TestOperandType::TENSOR_INT32,
3902 .dimensions = {0},
3903 .numberOfConsumers = 1,
3904 .scale = 0.0f,
3905 .zeroPoint = 0,
3906 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3907 .channelQuant = {},
3908 .isIgnored = false,
3909 .data = TestBuffer::createFromVector<int32_t>({})
3910 }, { // dimFormat
3911 .type = TestOperandType::TENSOR_INT32,
3912 .dimensions = {3},
3913 .numberOfConsumers = 1,
3914 .scale = 0.0f,
3915 .zeroPoint = 0,
3916 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3917 .channelQuant = {},
3918 .isIgnored = false,
3919 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
3920 }, { // dimensions
3921 .type = TestOperandType::TENSOR_INT32,
3922 .dimensions = {3},
3923 .numberOfConsumers = 1,
3924 .scale = 0.0f,
3925 .zeroPoint = 0,
3926 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3927 .channelQuant = {},
3928 .isIgnored = false,
3929 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
3930 }, { // d0ArrSegments
3931 .type = TestOperandType::TENSOR_INT32,
3932 .dimensions = {2},
3933 .numberOfConsumers = 1,
3934 .scale = 0.0f,
3935 .zeroPoint = 0,
3936 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3937 .channelQuant = {},
3938 .isIgnored = false,
3939 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3940 }, { // d0ArrIndices
3941 .type = TestOperandType::TENSOR_INT32,
3942 .dimensions = {2},
3943 .numberOfConsumers = 1,
3944 .scale = 0.0f,
3945 .zeroPoint = 0,
3946 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3947 .channelQuant = {},
3948 .isIgnored = false,
3949 .data = TestBuffer::createFromVector<int32_t>({0, 2})
3950 }, { // d1ArrSegments
3951 .type = TestOperandType::TENSOR_INT32,
3952 .dimensions = {3},
3953 .numberOfConsumers = 1,
3954 .scale = 0.0f,
3955 .zeroPoint = 0,
3956 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3957 .channelQuant = {},
3958 .isIgnored = false,
3959 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
3960 }, { // d1ArrIndices
3961 .type = TestOperandType::TENSOR_INT32,
3962 .dimensions = {5},
3963 .numberOfConsumers = 1,
3964 .scale = 0.0f,
3965 .zeroPoint = 0,
3966 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3967 .channelQuant = {},
3968 .isIgnored = false,
3969 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
3970 }, { // d2ArrSegments
3971 .type = TestOperandType::TENSOR_INT32,
3972 .dimensions = {6},
3973 .numberOfConsumers = 1,
3974 .scale = 0.0f,
3975 .zeroPoint = 0,
3976 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3977 .channelQuant = {},
3978 .isIgnored = false,
3979 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
3980 }, { // d2ArrIndices
3981 .type = TestOperandType::TENSOR_INT32,
3982 .dimensions = {8},
3983 .numberOfConsumers = 1,
3984 .scale = 0.0f,
3985 .zeroPoint = 0,
3986 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
3987 .channelQuant = {},
3988 .isIgnored = false,
3989 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
3990 }, { // denseOut
3991 .type = TestOperandType::TENSOR_QUANT16_SYMM,
3992 .dimensions = {3, 2, 4},
3993 .numberOfConsumers = 0,
3994 .scale = 3.25f,
3995 .zeroPoint = 0,
3996 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
3997 .channelQuant = {},
3998 .isIgnored = false,
3999 .data = TestBuffer::createFromVector<int16_t>({0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 3})
4000 }},
4001 .operations = {{
4002 .type = TestOperationType::DENSIFY,
4003 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
4004 .outputs = {11}
4005 }},
4006 .inputIndexes = {0},
4007 .outputIndexes = {11}
4008 },
4009 .referenced = {},
4010 .isRelaxed = false,
4011 .expectedMultinomialDistributionTolerance = 0,
4012 .expectFailure = false,
4013 .minSupportedVersion = TestHalVersion::UNKNOWN
4014 };
4015 return model;
4016 }
4017
4018 const auto dummy_test_model_float32_2 = TestModelManager::get().add("densify_5_float32_2", get_test_model_float32_2());
4019
4020 } // namespace generated_tests::densify_5
4021
4022 namespace generated_tests::densify_5 {
4023
get_test_model_float32_all_tensors_as_inputs_2()4024 const TestModel& get_test_model_float32_all_tensors_as_inputs_2() {
4025 static TestModel model = {
4026 .main = {
4027 .operands = {{ // sparseData
4028 .type = TestOperandType::TENSOR_QUANT16_SYMM,
4029 .dimensions = {8},
4030 .numberOfConsumers = 1,
4031 .scale = 3.25f,
4032 .zeroPoint = 0,
4033 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4034 .channelQuant = {},
4035 .isIgnored = false,
4036 .data = TestBuffer::createFromVector<int16_t>({0, 2, 2, 1, 1, 2, 1, 3})
4037 }, { // traversalOrder
4038 .type = TestOperandType::TENSOR_INT32,
4039 .dimensions = {3},
4040 .numberOfConsumers = 1,
4041 .scale = 0.0f,
4042 .zeroPoint = 0,
4043 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4044 .channelQuant = {},
4045 .isIgnored = false,
4046 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
4047 }, { // blockMap
4048 .type = TestOperandType::TENSOR_INT32,
4049 .dimensions = {0},
4050 .numberOfConsumers = 1,
4051 .scale = 0.0f,
4052 .zeroPoint = 0,
4053 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4054 .channelQuant = {},
4055 .isIgnored = false,
4056 .data = TestBuffer::createFromVector<int32_t>({})
4057 }, { // dimFormat
4058 .type = TestOperandType::TENSOR_INT32,
4059 .dimensions = {3},
4060 .numberOfConsumers = 1,
4061 .scale = 0.0f,
4062 .zeroPoint = 0,
4063 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4064 .channelQuant = {},
4065 .isIgnored = false,
4066 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
4067 }, { // dimensions
4068 .type = TestOperandType::TENSOR_INT32,
4069 .dimensions = {3},
4070 .numberOfConsumers = 1,
4071 .scale = 0.0f,
4072 .zeroPoint = 0,
4073 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4074 .channelQuant = {},
4075 .isIgnored = false,
4076 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
4077 }, { // d0ArrSegments
4078 .type = TestOperandType::TENSOR_INT32,
4079 .dimensions = {2},
4080 .numberOfConsumers = 1,
4081 .scale = 0.0f,
4082 .zeroPoint = 0,
4083 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4084 .channelQuant = {},
4085 .isIgnored = false,
4086 .data = TestBuffer::createFromVector<int32_t>({0, 2})
4087 }, { // d0ArrIndices
4088 .type = TestOperandType::TENSOR_INT32,
4089 .dimensions = {2},
4090 .numberOfConsumers = 1,
4091 .scale = 0.0f,
4092 .zeroPoint = 0,
4093 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4094 .channelQuant = {},
4095 .isIgnored = false,
4096 .data = TestBuffer::createFromVector<int32_t>({0, 2})
4097 }, { // d1ArrSegments
4098 .type = TestOperandType::TENSOR_INT32,
4099 .dimensions = {3},
4100 .numberOfConsumers = 1,
4101 .scale = 0.0f,
4102 .zeroPoint = 0,
4103 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4104 .channelQuant = {},
4105 .isIgnored = false,
4106 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
4107 }, { // d1ArrIndices
4108 .type = TestOperandType::TENSOR_INT32,
4109 .dimensions = {5},
4110 .numberOfConsumers = 1,
4111 .scale = 0.0f,
4112 .zeroPoint = 0,
4113 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4114 .channelQuant = {},
4115 .isIgnored = false,
4116 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
4117 }, { // d2ArrSegments
4118 .type = TestOperandType::TENSOR_INT32,
4119 .dimensions = {6},
4120 .numberOfConsumers = 1,
4121 .scale = 0.0f,
4122 .zeroPoint = 0,
4123 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4124 .channelQuant = {},
4125 .isIgnored = false,
4126 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
4127 }, { // d2ArrIndices
4128 .type = TestOperandType::TENSOR_INT32,
4129 .dimensions = {8},
4130 .numberOfConsumers = 1,
4131 .scale = 0.0f,
4132 .zeroPoint = 0,
4133 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4134 .channelQuant = {},
4135 .isIgnored = false,
4136 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
4137 }, { // denseOut
4138 .type = TestOperandType::TENSOR_QUANT16_SYMM,
4139 .dimensions = {3, 2, 4},
4140 .numberOfConsumers = 0,
4141 .scale = 3.25f,
4142 .zeroPoint = 0,
4143 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
4144 .channelQuant = {},
4145 .isIgnored = false,
4146 .data = TestBuffer::createFromVector<int16_t>({0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 3})
4147 }},
4148 .operations = {{
4149 .type = TestOperationType::DENSIFY,
4150 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
4151 .outputs = {11}
4152 }},
4153 .inputIndexes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
4154 .outputIndexes = {11}
4155 },
4156 .referenced = {},
4157 .isRelaxed = false,
4158 .expectedMultinomialDistributionTolerance = 0,
4159 .expectFailure = false,
4160 .minSupportedVersion = TestHalVersion::UNKNOWN
4161 };
4162 return model;
4163 }
4164
4165 const auto dummy_test_model_float32_all_tensors_as_inputs_2 = TestModelManager::get().add("densify_5_float32_all_tensors_as_inputs_2", get_test_model_float32_all_tensors_as_inputs_2());
4166
4167 } // namespace generated_tests::densify_5
4168
4169 namespace generated_tests::densify_5 {
4170
get_test_model_float32_3()4171 const TestModel& get_test_model_float32_3() {
4172 static TestModel model = {
4173 .main = {
4174 .operands = {{ // sparseData
4175 .type = TestOperandType::TENSOR_QUANT16_ASYMM,
4176 .dimensions = {8},
4177 .numberOfConsumers = 1,
4178 .scale = 6.0f,
4179 .zeroPoint = 14,
4180 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4181 .channelQuant = {},
4182 .isIgnored = false,
4183 .data = TestBuffer::createFromVector<uint16_t>({14, 15, 15, 14, 15, 15, 14, 16})
4184 }, { // traversalOrder
4185 .type = TestOperandType::TENSOR_INT32,
4186 .dimensions = {3},
4187 .numberOfConsumers = 1,
4188 .scale = 0.0f,
4189 .zeroPoint = 0,
4190 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
4191 .channelQuant = {},
4192 .isIgnored = false,
4193 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
4194 }, { // blockMap
4195 .type = TestOperandType::TENSOR_INT32,
4196 .dimensions = {0},
4197 .numberOfConsumers = 1,
4198 .scale = 0.0f,
4199 .zeroPoint = 0,
4200 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
4201 .channelQuant = {},
4202 .isIgnored = false,
4203 .data = TestBuffer::createFromVector<int32_t>({})
4204 }, { // dimFormat
4205 .type = TestOperandType::TENSOR_INT32,
4206 .dimensions = {3},
4207 .numberOfConsumers = 1,
4208 .scale = 0.0f,
4209 .zeroPoint = 0,
4210 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
4211 .channelQuant = {},
4212 .isIgnored = false,
4213 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
4214 }, { // dimensions
4215 .type = TestOperandType::TENSOR_INT32,
4216 .dimensions = {3},
4217 .numberOfConsumers = 1,
4218 .scale = 0.0f,
4219 .zeroPoint = 0,
4220 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
4221 .channelQuant = {},
4222 .isIgnored = false,
4223 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
4224 }, { // d0ArrSegments
4225 .type = TestOperandType::TENSOR_INT32,
4226 .dimensions = {2},
4227 .numberOfConsumers = 1,
4228 .scale = 0.0f,
4229 .zeroPoint = 0,
4230 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
4231 .channelQuant = {},
4232 .isIgnored = false,
4233 .data = TestBuffer::createFromVector<int32_t>({0, 2})
4234 }, { // d0ArrIndices
4235 .type = TestOperandType::TENSOR_INT32,
4236 .dimensions = {2},
4237 .numberOfConsumers = 1,
4238 .scale = 0.0f,
4239 .zeroPoint = 0,
4240 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
4241 .channelQuant = {},
4242 .isIgnored = false,
4243 .data = TestBuffer::createFromVector<int32_t>({0, 2})
4244 }, { // d1ArrSegments
4245 .type = TestOperandType::TENSOR_INT32,
4246 .dimensions = {3},
4247 .numberOfConsumers = 1,
4248 .scale = 0.0f,
4249 .zeroPoint = 0,
4250 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
4251 .channelQuant = {},
4252 .isIgnored = false,
4253 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
4254 }, { // d1ArrIndices
4255 .type = TestOperandType::TENSOR_INT32,
4256 .dimensions = {5},
4257 .numberOfConsumers = 1,
4258 .scale = 0.0f,
4259 .zeroPoint = 0,
4260 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
4261 .channelQuant = {},
4262 .isIgnored = false,
4263 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
4264 }, { // d2ArrSegments
4265 .type = TestOperandType::TENSOR_INT32,
4266 .dimensions = {6},
4267 .numberOfConsumers = 1,
4268 .scale = 0.0f,
4269 .zeroPoint = 0,
4270 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
4271 .channelQuant = {},
4272 .isIgnored = false,
4273 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
4274 }, { // d2ArrIndices
4275 .type = TestOperandType::TENSOR_INT32,
4276 .dimensions = {8},
4277 .numberOfConsumers = 1,
4278 .scale = 0.0f,
4279 .zeroPoint = 0,
4280 .lifetime = TestOperandLifeTime::CONSTANT_COPY,
4281 .channelQuant = {},
4282 .isIgnored = false,
4283 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
4284 }, { // denseOut
4285 .type = TestOperandType::TENSOR_QUANT16_ASYMM,
4286 .dimensions = {3, 2, 4},
4287 .numberOfConsumers = 0,
4288 .scale = 6.0f,
4289 .zeroPoint = 14,
4290 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
4291 .channelQuant = {},
4292 .isIgnored = false,
4293 .data = TestBuffer::createFromVector<uint16_t>({14, 14, 14, 14, 15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 15, 16})
4294 }},
4295 .operations = {{
4296 .type = TestOperationType::DENSIFY,
4297 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
4298 .outputs = {11}
4299 }},
4300 .inputIndexes = {0},
4301 .outputIndexes = {11}
4302 },
4303 .referenced = {},
4304 .isRelaxed = false,
4305 .expectedMultinomialDistributionTolerance = 0,
4306 .expectFailure = false,
4307 .minSupportedVersion = TestHalVersion::UNKNOWN
4308 };
4309 return model;
4310 }
4311
4312 const auto dummy_test_model_float32_3 = TestModelManager::get().add("densify_5_float32_3", get_test_model_float32_3());
4313
4314 } // namespace generated_tests::densify_5
4315
4316 namespace generated_tests::densify_5 {
4317
get_test_model_float32_all_tensors_as_inputs_3()4318 const TestModel& get_test_model_float32_all_tensors_as_inputs_3() {
4319 static TestModel model = {
4320 .main = {
4321 .operands = {{ // sparseData
4322 .type = TestOperandType::TENSOR_QUANT16_ASYMM,
4323 .dimensions = {8},
4324 .numberOfConsumers = 1,
4325 .scale = 6.0f,
4326 .zeroPoint = 14,
4327 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4328 .channelQuant = {},
4329 .isIgnored = false,
4330 .data = TestBuffer::createFromVector<uint16_t>({14, 15, 15, 14, 15, 15, 14, 16})
4331 }, { // traversalOrder
4332 .type = TestOperandType::TENSOR_INT32,
4333 .dimensions = {3},
4334 .numberOfConsumers = 1,
4335 .scale = 0.0f,
4336 .zeroPoint = 0,
4337 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4338 .channelQuant = {},
4339 .isIgnored = false,
4340 .data = TestBuffer::createFromVector<int32_t>({0, 2, 1})
4341 }, { // blockMap
4342 .type = TestOperandType::TENSOR_INT32,
4343 .dimensions = {0},
4344 .numberOfConsumers = 1,
4345 .scale = 0.0f,
4346 .zeroPoint = 0,
4347 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4348 .channelQuant = {},
4349 .isIgnored = false,
4350 .data = TestBuffer::createFromVector<int32_t>({})
4351 }, { // dimFormat
4352 .type = TestOperandType::TENSOR_INT32,
4353 .dimensions = {3},
4354 .numberOfConsumers = 1,
4355 .scale = 0.0f,
4356 .zeroPoint = 0,
4357 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4358 .channelQuant = {},
4359 .isIgnored = false,
4360 .data = TestBuffer::createFromVector<int32_t>({1, 1, 1})
4361 }, { // dimensions
4362 .type = TestOperandType::TENSOR_INT32,
4363 .dimensions = {3},
4364 .numberOfConsumers = 1,
4365 .scale = 0.0f,
4366 .zeroPoint = 0,
4367 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4368 .channelQuant = {},
4369 .isIgnored = false,
4370 .data = TestBuffer::createFromVector<int32_t>({3, 4, 2})
4371 }, { // d0ArrSegments
4372 .type = TestOperandType::TENSOR_INT32,
4373 .dimensions = {2},
4374 .numberOfConsumers = 1,
4375 .scale = 0.0f,
4376 .zeroPoint = 0,
4377 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4378 .channelQuant = {},
4379 .isIgnored = false,
4380 .data = TestBuffer::createFromVector<int32_t>({0, 2})
4381 }, { // d0ArrIndices
4382 .type = TestOperandType::TENSOR_INT32,
4383 .dimensions = {2},
4384 .numberOfConsumers = 1,
4385 .scale = 0.0f,
4386 .zeroPoint = 0,
4387 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4388 .channelQuant = {},
4389 .isIgnored = false,
4390 .data = TestBuffer::createFromVector<int32_t>({0, 2})
4391 }, { // d1ArrSegments
4392 .type = TestOperandType::TENSOR_INT32,
4393 .dimensions = {3},
4394 .numberOfConsumers = 1,
4395 .scale = 0.0f,
4396 .zeroPoint = 0,
4397 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4398 .channelQuant = {},
4399 .isIgnored = false,
4400 .data = TestBuffer::createFromVector<int32_t>({0, 2, 5})
4401 }, { // d1ArrIndices
4402 .type = TestOperandType::TENSOR_INT32,
4403 .dimensions = {5},
4404 .numberOfConsumers = 1,
4405 .scale = 0.0f,
4406 .zeroPoint = 0,
4407 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4408 .channelQuant = {},
4409 .isIgnored = false,
4410 .data = TestBuffer::createFromVector<int32_t>({0, 2, 0, 2, 3})
4411 }, { // d2ArrSegments
4412 .type = TestOperandType::TENSOR_INT32,
4413 .dimensions = {6},
4414 .numberOfConsumers = 1,
4415 .scale = 0.0f,
4416 .zeroPoint = 0,
4417 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4418 .channelQuant = {},
4419 .isIgnored = false,
4420 .data = TestBuffer::createFromVector<int32_t>({0, 2, 3, 4, 6, 8})
4421 }, { // d2ArrIndices
4422 .type = TestOperandType::TENSOR_INT32,
4423 .dimensions = {8},
4424 .numberOfConsumers = 1,
4425 .scale = 0.0f,
4426 .zeroPoint = 0,
4427 .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
4428 .channelQuant = {},
4429 .isIgnored = false,
4430 .data = TestBuffer::createFromVector<int32_t>({0, 1, 1, 1, 0, 1, 0, 1})
4431 }, { // denseOut
4432 .type = TestOperandType::TENSOR_QUANT16_ASYMM,
4433 .dimensions = {3, 2, 4},
4434 .numberOfConsumers = 0,
4435 .scale = 6.0f,
4436 .zeroPoint = 14,
4437 .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
4438 .channelQuant = {},
4439 .isIgnored = false,
4440 .data = TestBuffer::createFromVector<uint16_t>({14, 14, 14, 14, 15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 15, 16})
4441 }},
4442 .operations = {{
4443 .type = TestOperationType::DENSIFY,
4444 .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
4445 .outputs = {11}
4446 }},
4447 .inputIndexes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
4448 .outputIndexes = {11}
4449 },
4450 .referenced = {},
4451 .isRelaxed = false,
4452 .expectedMultinomialDistributionTolerance = 0,
4453 .expectFailure = false,
4454 .minSupportedVersion = TestHalVersion::UNKNOWN
4455 };
4456 return model;
4457 }
4458
4459 const auto dummy_test_model_float32_all_tensors_as_inputs_3 = TestModelManager::get().add("densify_5_float32_all_tensors_as_inputs_3", get_test_model_float32_all_tensors_as_inputs_3());
4460
4461 } // namespace generated_tests::densify_5
4462
4463