1 // clang-format off 2 // Generated file (from: conv2d_per_channel.mod.py). Do not edit 3 std::vector<MixedTypedExample>& get_examples() { 4 static std::vector<MixedTypedExample> examples = { 5 // Begin of an example 6 { 7 .operands = { 8 //Input(s) 9 { // See tools/test_generator/include/TestHarness.h:MixedTyped 10 // int -> Dimensions map 11 .operandDimensions = {{0, {1, 3, 1, 2}}}, 12 // int -> FLOAT32 map 13 .float32Operands = {}, 14 // int -> INT32 map 15 .int32Operands = {}, 16 // int -> QUANT8_ASYMM map 17 .quant8AsymmOperands = {{0, {138, 138, 138, 138, 138, 138}}}, 18 // int -> QUANT16_SYMM map 19 .quant16SymmOperands = {}, 20 // int -> FLOAT16 map 21 .float16Operands = {}, 22 // int -> BOOL8 map 23 .bool8Operands = {}, 24 // int -> QUANT8_SYMM_PER_CHANNEL map 25 .quant8ChannelOperands = {}, 26 // int -> QUANT16_ASYMM map 27 .quant16AsymmOperands = {}, 28 // int -> QUANT8_SYMM map 29 .quant8SymmOperands = {}, 30 }, 31 //Output(s) 32 { // See tools/test_generator/include/TestHarness.h:MixedTyped 33 // int -> Dimensions map 34 .operandDimensions = {{0, {1, 3, 1, 3}}}, 35 // int -> FLOAT32 map 36 .float32Operands = {}, 37 // int -> INT32 map 38 .int32Operands = {}, 39 // int -> QUANT8_ASYMM map 40 .quant8AsymmOperands = {{0, {137, 141, 145, 137, 141, 145, 137, 141, 145}}}, 41 // int -> QUANT16_SYMM map 42 .quant16SymmOperands = {}, 43 // int -> FLOAT16 map 44 .float16Operands = {}, 45 // int -> BOOL8 map 46 .bool8Operands = {}, 47 // int -> QUANT8_SYMM_PER_CHANNEL map 48 .quant8ChannelOperands = {}, 49 // int -> QUANT16_ASYMM map 50 .quant16AsymmOperands = {}, 51 // int -> QUANT8_SYMM map 52 .quant8SymmOperands = {}, 53 } 54 }, 55 }, // End of an example 56 }; 57 return examples; 58 }; 59 60 std::vector<MixedTypedExample>& get_examples_weight_as_input() { 61 static std::vector<MixedTypedExample> examples_weight_as_input = { 62 // Begin of an example 63 { 64 .operands = { 65 //Input(s) 66 { // See tools/test_generator/include/TestHarness.h:MixedTyped 67 // int -> Dimensions map 68 .operandDimensions = {{0, {1, 3, 1, 2}}, {1, {3, 1, 1, 2}}, {2, {3}}}, 69 // int -> FLOAT32 map 70 .float32Operands = {}, 71 // int -> INT32 map 72 .int32Operands = {{2, {4, 4, 4}}}, 73 // int -> QUANT8_ASYMM map 74 .quant8AsymmOperands = {{0, {138, 138, 138, 138, 138, 138}}}, 75 // int -> QUANT16_SYMM map 76 .quant16SymmOperands = {}, 77 // int -> FLOAT16 map 78 .float16Operands = {}, 79 // int -> BOOL8 map 80 .bool8Operands = {}, 81 // int -> QUANT8_SYMM_PER_CHANNEL map 82 .quant8ChannelOperands = {{1, {1, 2, 1, 2, 1, 2}}}, 83 // int -> QUANT16_ASYMM map 84 .quant16AsymmOperands = {}, 85 // int -> QUANT8_SYMM map 86 .quant8SymmOperands = {}, 87 }, 88 //Output(s) 89 { // See tools/test_generator/include/TestHarness.h:MixedTyped 90 // int -> Dimensions map 91 .operandDimensions = {{0, {1, 3, 1, 3}}}, 92 // int -> FLOAT32 map 93 .float32Operands = {}, 94 // int -> INT32 map 95 .int32Operands = {}, 96 // int -> QUANT8_ASYMM map 97 .quant8AsymmOperands = {{0, {137, 141, 145, 137, 141, 145, 137, 141, 145}}}, 98 // int -> QUANT16_SYMM map 99 .quant16SymmOperands = {}, 100 // int -> FLOAT16 map 101 .float16Operands = {}, 102 // int -> BOOL8 map 103 .bool8Operands = {}, 104 // int -> QUANT8_SYMM_PER_CHANNEL map 105 .quant8ChannelOperands = {}, 106 // int -> QUANT16_ASYMM map 107 .quant16AsymmOperands = {}, 108 // int -> QUANT8_SYMM map 109 .quant8SymmOperands = {}, 110 } 111 }, 112 }, // End of an example 113 }; 114 return examples_weight_as_input; 115 }; 116 117 std::vector<MixedTypedExample>& get_examples_dynamic_output_shape() { 118 static std::vector<MixedTypedExample> examples_dynamic_output_shape = { 119 // Begin of an example 120 { 121 .operands = { 122 //Input(s) 123 { // See tools/test_generator/include/TestHarness.h:MixedTyped 124 // int -> Dimensions map 125 .operandDimensions = {{0, {1, 3, 1, 2}}}, 126 // int -> FLOAT32 map 127 .float32Operands = {}, 128 // int -> INT32 map 129 .int32Operands = {}, 130 // int -> QUANT8_ASYMM map 131 .quant8AsymmOperands = {{0, {138, 138, 138, 138, 138, 138}}}, 132 // int -> QUANT16_SYMM map 133 .quant16SymmOperands = {}, 134 // int -> FLOAT16 map 135 .float16Operands = {}, 136 // int -> BOOL8 map 137 .bool8Operands = {}, 138 // int -> QUANT8_SYMM_PER_CHANNEL map 139 .quant8ChannelOperands = {}, 140 // int -> QUANT16_ASYMM map 141 .quant16AsymmOperands = {}, 142 // int -> QUANT8_SYMM map 143 .quant8SymmOperands = {}, 144 }, 145 //Output(s) 146 { // See tools/test_generator/include/TestHarness.h:MixedTyped 147 // int -> Dimensions map 148 .operandDimensions = {{0, {1, 3, 1, 3}}}, 149 // int -> FLOAT32 map 150 .float32Operands = {}, 151 // int -> INT32 map 152 .int32Operands = {}, 153 // int -> QUANT8_ASYMM map 154 .quant8AsymmOperands = {{0, {137, 141, 145, 137, 141, 145, 137, 141, 145}}}, 155 // int -> QUANT16_SYMM map 156 .quant16SymmOperands = {}, 157 // int -> FLOAT16 map 158 .float16Operands = {}, 159 // int -> BOOL8 map 160 .bool8Operands = {}, 161 // int -> QUANT8_SYMM_PER_CHANNEL map 162 .quant8ChannelOperands = {}, 163 // int -> QUANT16_ASYMM map 164 .quant16AsymmOperands = {}, 165 // int -> QUANT8_SYMM map 166 .quant8SymmOperands = {}, 167 } 168 }, 169 }, // End of an example 170 }; 171 return examples_dynamic_output_shape; 172 }; 173 174 std::vector<MixedTypedExample>& get_examples_dynamic_output_shape_weight_as_input() { 175 static std::vector<MixedTypedExample> examples_dynamic_output_shape_weight_as_input = { 176 // Begin of an example 177 { 178 .operands = { 179 //Input(s) 180 { // See tools/test_generator/include/TestHarness.h:MixedTyped 181 // int -> Dimensions map 182 .operandDimensions = {{0, {1, 3, 1, 2}}, {1, {3, 1, 1, 2}}, {2, {3}}}, 183 // int -> FLOAT32 map 184 .float32Operands = {}, 185 // int -> INT32 map 186 .int32Operands = {{2, {4, 4, 4}}}, 187 // int -> QUANT8_ASYMM map 188 .quant8AsymmOperands = {{0, {138, 138, 138, 138, 138, 138}}}, 189 // int -> QUANT16_SYMM map 190 .quant16SymmOperands = {}, 191 // int -> FLOAT16 map 192 .float16Operands = {}, 193 // int -> BOOL8 map 194 .bool8Operands = {}, 195 // int -> QUANT8_SYMM_PER_CHANNEL map 196 .quant8ChannelOperands = {{1, {1, 2, 1, 2, 1, 2}}}, 197 // int -> QUANT16_ASYMM map 198 .quant16AsymmOperands = {}, 199 // int -> QUANT8_SYMM map 200 .quant8SymmOperands = {}, 201 }, 202 //Output(s) 203 { // See tools/test_generator/include/TestHarness.h:MixedTyped 204 // int -> Dimensions map 205 .operandDimensions = {{0, {1, 3, 1, 3}}}, 206 // int -> FLOAT32 map 207 .float32Operands = {}, 208 // int -> INT32 map 209 .int32Operands = {}, 210 // int -> QUANT8_ASYMM map 211 .quant8AsymmOperands = {{0, {137, 141, 145, 137, 141, 145, 137, 141, 145}}}, 212 // int -> QUANT16_SYMM map 213 .quant16SymmOperands = {}, 214 // int -> FLOAT16 map 215 .float16Operands = {}, 216 // int -> BOOL8 map 217 .bool8Operands = {}, 218 // int -> QUANT8_SYMM_PER_CHANNEL map 219 .quant8ChannelOperands = {}, 220 // int -> QUANT16_ASYMM map 221 .quant16AsymmOperands = {}, 222 // int -> QUANT8_SYMM map 223 .quant8SymmOperands = {}, 224 } 225 }, 226 }, // End of an example 227 }; 228 return examples_dynamic_output_shape_weight_as_input; 229 }; 230 231 std::vector<MixedTypedExample>& get_examples_layouts_nhwc() { 232 static std::vector<MixedTypedExample> examples_layouts_nhwc = { 233 // Begin of an example 234 { 235 .operands = { 236 //Input(s) 237 { // See tools/test_generator/include/TestHarness.h:MixedTyped 238 // int -> Dimensions map 239 .operandDimensions = {{0, {1, 3, 1, 2}}}, 240 // int -> FLOAT32 map 241 .float32Operands = {}, 242 // int -> INT32 map 243 .int32Operands = {}, 244 // int -> QUANT8_ASYMM map 245 .quant8AsymmOperands = {{0, {138, 108, 138, 108, 138, 108}}}, 246 // int -> QUANT16_SYMM map 247 .quant16SymmOperands = {}, 248 // int -> FLOAT16 map 249 .float16Operands = {}, 250 // int -> BOOL8 map 251 .bool8Operands = {}, 252 // int -> QUANT8_SYMM_PER_CHANNEL map 253 .quant8ChannelOperands = {}, 254 // int -> QUANT16_ASYMM map 255 .quant16AsymmOperands = {}, 256 // int -> QUANT8_SYMM map 257 .quant8SymmOperands = {}, 258 }, 259 //Output(s) 260 { // See tools/test_generator/include/TestHarness.h:MixedTyped 261 // int -> Dimensions map 262 .operandDimensions = {{0, {1, 3, 1, 3}}}, 263 // int -> FLOAT32 map 264 .float32Operands = {}, 265 // int -> INT32 map 266 .int32Operands = {}, 267 // int -> QUANT8_ASYMM map 268 .quant8AsymmOperands = {{0, {121, 118, 115, 121, 118, 115, 121, 118, 115}}}, 269 // int -> QUANT16_SYMM map 270 .quant16SymmOperands = {}, 271 // int -> FLOAT16 map 272 .float16Operands = {}, 273 // int -> BOOL8 map 274 .bool8Operands = {}, 275 // int -> QUANT8_SYMM_PER_CHANNEL map 276 .quant8ChannelOperands = {}, 277 // int -> QUANT16_ASYMM map 278 .quant16AsymmOperands = {}, 279 // int -> QUANT8_SYMM map 280 .quant8SymmOperands = {}, 281 } 282 }, 283 }, // End of an example 284 }; 285 return examples_layouts_nhwc; 286 }; 287 288 std::vector<MixedTypedExample>& get_examples_layouts_nhwc_weight_as_input() { 289 static std::vector<MixedTypedExample> examples_layouts_nhwc_weight_as_input = { 290 // Begin of an example 291 { 292 .operands = { 293 //Input(s) 294 { // See tools/test_generator/include/TestHarness.h:MixedTyped 295 // int -> Dimensions map 296 .operandDimensions = {{0, {1, 3, 1, 2}}, {1, {3, 1, 1, 2}}, {2, {3}}}, 297 // int -> FLOAT32 map 298 .float32Operands = {}, 299 // int -> INT32 map 300 .int32Operands = {{2, {4, 4, 4}}}, 301 // int -> QUANT8_ASYMM map 302 .quant8AsymmOperands = {{0, {138, 108, 138, 108, 138, 108}}}, 303 // int -> QUANT16_SYMM map 304 .quant16SymmOperands = {}, 305 // int -> FLOAT16 map 306 .float16Operands = {}, 307 // int -> BOOL8 map 308 .bool8Operands = {}, 309 // int -> QUANT8_SYMM_PER_CHANNEL map 310 .quant8ChannelOperands = {{1, {1, 2, 1, 2, 1, 2}}}, 311 // int -> QUANT16_ASYMM map 312 .quant16AsymmOperands = {}, 313 // int -> QUANT8_SYMM map 314 .quant8SymmOperands = {}, 315 }, 316 //Output(s) 317 { // See tools/test_generator/include/TestHarness.h:MixedTyped 318 // int -> Dimensions map 319 .operandDimensions = {{0, {1, 3, 1, 3}}}, 320 // int -> FLOAT32 map 321 .float32Operands = {}, 322 // int -> INT32 map 323 .int32Operands = {}, 324 // int -> QUANT8_ASYMM map 325 .quant8AsymmOperands = {{0, {121, 118, 115, 121, 118, 115, 121, 118, 115}}}, 326 // int -> QUANT16_SYMM map 327 .quant16SymmOperands = {}, 328 // int -> FLOAT16 map 329 .float16Operands = {}, 330 // int -> BOOL8 map 331 .bool8Operands = {}, 332 // int -> QUANT8_SYMM_PER_CHANNEL map 333 .quant8ChannelOperands = {}, 334 // int -> QUANT16_ASYMM map 335 .quant16AsymmOperands = {}, 336 // int -> QUANT8_SYMM map 337 .quant8SymmOperands = {}, 338 } 339 }, 340 }, // End of an example 341 }; 342 return examples_layouts_nhwc_weight_as_input; 343 }; 344 345 std::vector<MixedTypedExample>& get_examples_layouts_nchw() { 346 static std::vector<MixedTypedExample> examples_layouts_nchw = { 347 // Begin of an example 348 { 349 .operands = { 350 //Input(s) 351 { // See tools/test_generator/include/TestHarness.h:MixedTyped 352 // int -> Dimensions map 353 .operandDimensions = {{0, {1, 2, 3, 1}}}, 354 // int -> FLOAT32 map 355 .float32Operands = {}, 356 // int -> INT32 map 357 .int32Operands = {}, 358 // int -> QUANT8_ASYMM map 359 .quant8AsymmOperands = {{0, {138, 138, 138, 108, 108, 108}}}, 360 // int -> QUANT16_SYMM map 361 .quant16SymmOperands = {}, 362 // int -> FLOAT16 map 363 .float16Operands = {}, 364 // int -> BOOL8 map 365 .bool8Operands = {}, 366 // int -> QUANT8_SYMM_PER_CHANNEL map 367 .quant8ChannelOperands = {}, 368 // int -> QUANT16_ASYMM map 369 .quant16AsymmOperands = {}, 370 // int -> QUANT8_SYMM map 371 .quant8SymmOperands = {}, 372 }, 373 //Output(s) 374 { // See tools/test_generator/include/TestHarness.h:MixedTyped 375 // int -> Dimensions map 376 .operandDimensions = {{0, {1, 3, 3, 1}}}, 377 // int -> FLOAT32 map 378 .float32Operands = {}, 379 // int -> INT32 map 380 .int32Operands = {}, 381 // int -> QUANT8_ASYMM map 382 .quant8AsymmOperands = {{0, {121, 121, 121, 118, 118, 118, 115, 115, 115}}}, 383 // int -> QUANT16_SYMM map 384 .quant16SymmOperands = {}, 385 // int -> FLOAT16 map 386 .float16Operands = {}, 387 // int -> BOOL8 map 388 .bool8Operands = {}, 389 // int -> QUANT8_SYMM_PER_CHANNEL map 390 .quant8ChannelOperands = {}, 391 // int -> QUANT16_ASYMM map 392 .quant16AsymmOperands = {}, 393 // int -> QUANT8_SYMM map 394 .quant8SymmOperands = {}, 395 } 396 }, 397 }, // End of an example 398 }; 399 return examples_layouts_nchw; 400 }; 401 402 std::vector<MixedTypedExample>& get_examples_layouts_nchw_weight_as_input() { 403 static std::vector<MixedTypedExample> examples_layouts_nchw_weight_as_input = { 404 // Begin of an example 405 { 406 .operands = { 407 //Input(s) 408 { // See tools/test_generator/include/TestHarness.h:MixedTyped 409 // int -> Dimensions map 410 .operandDimensions = {{0, {1, 2, 3, 1}}, {1, {3, 1, 1, 2}}, {2, {3}}}, 411 // int -> FLOAT32 map 412 .float32Operands = {}, 413 // int -> INT32 map 414 .int32Operands = {{2, {4, 4, 4}}}, 415 // int -> QUANT8_ASYMM map 416 .quant8AsymmOperands = {{0, {138, 138, 138, 108, 108, 108}}}, 417 // int -> QUANT16_SYMM map 418 .quant16SymmOperands = {}, 419 // int -> FLOAT16 map 420 .float16Operands = {}, 421 // int -> BOOL8 map 422 .bool8Operands = {}, 423 // int -> QUANT8_SYMM_PER_CHANNEL map 424 .quant8ChannelOperands = {{1, {1, 2, 1, 2, 1, 2}}}, 425 // int -> QUANT16_ASYMM map 426 .quant16AsymmOperands = {}, 427 // int -> QUANT8_SYMM map 428 .quant8SymmOperands = {}, 429 }, 430 //Output(s) 431 { // See tools/test_generator/include/TestHarness.h:MixedTyped 432 // int -> Dimensions map 433 .operandDimensions = {{0, {1, 3, 3, 1}}}, 434 // int -> FLOAT32 map 435 .float32Operands = {}, 436 // int -> INT32 map 437 .int32Operands = {}, 438 // int -> QUANT8_ASYMM map 439 .quant8AsymmOperands = {{0, {121, 121, 121, 118, 118, 118, 115, 115, 115}}}, 440 // int -> QUANT16_SYMM map 441 .quant16SymmOperands = {}, 442 // int -> FLOAT16 map 443 .float16Operands = {}, 444 // int -> BOOL8 map 445 .bool8Operands = {}, 446 // int -> QUANT8_SYMM_PER_CHANNEL map 447 .quant8ChannelOperands = {}, 448 // int -> QUANT16_ASYMM map 449 .quant16AsymmOperands = {}, 450 // int -> QUANT8_SYMM map 451 .quant8SymmOperands = {}, 452 } 453 }, 454 }, // End of an example 455 }; 456 return examples_layouts_nchw_weight_as_input; 457 }; 458 459 std::vector<MixedTypedExample>& get_examples_layouts_dynamic_output_shape_nhwc() { 460 static std::vector<MixedTypedExample> examples_layouts_dynamic_output_shape_nhwc = { 461 // Begin of an example 462 { 463 .operands = { 464 //Input(s) 465 { // See tools/test_generator/include/TestHarness.h:MixedTyped 466 // int -> Dimensions map 467 .operandDimensions = {{0, {1, 3, 1, 2}}}, 468 // int -> FLOAT32 map 469 .float32Operands = {}, 470 // int -> INT32 map 471 .int32Operands = {}, 472 // int -> QUANT8_ASYMM map 473 .quant8AsymmOperands = {{0, {138, 108, 138, 108, 138, 108}}}, 474 // int -> QUANT16_SYMM map 475 .quant16SymmOperands = {}, 476 // int -> FLOAT16 map 477 .float16Operands = {}, 478 // int -> BOOL8 map 479 .bool8Operands = {}, 480 // int -> QUANT8_SYMM_PER_CHANNEL map 481 .quant8ChannelOperands = {}, 482 // int -> QUANT16_ASYMM map 483 .quant16AsymmOperands = {}, 484 // int -> QUANT8_SYMM map 485 .quant8SymmOperands = {}, 486 }, 487 //Output(s) 488 { // See tools/test_generator/include/TestHarness.h:MixedTyped 489 // int -> Dimensions map 490 .operandDimensions = {{0, {1, 3, 1, 3}}}, 491 // int -> FLOAT32 map 492 .float32Operands = {}, 493 // int -> INT32 map 494 .int32Operands = {}, 495 // int -> QUANT8_ASYMM map 496 .quant8AsymmOperands = {{0, {121, 118, 115, 121, 118, 115, 121, 118, 115}}}, 497 // int -> QUANT16_SYMM map 498 .quant16SymmOperands = {}, 499 // int -> FLOAT16 map 500 .float16Operands = {}, 501 // int -> BOOL8 map 502 .bool8Operands = {}, 503 // int -> QUANT8_SYMM_PER_CHANNEL map 504 .quant8ChannelOperands = {}, 505 // int -> QUANT16_ASYMM map 506 .quant16AsymmOperands = {}, 507 // int -> QUANT8_SYMM map 508 .quant8SymmOperands = {}, 509 } 510 }, 511 }, // End of an example 512 }; 513 return examples_layouts_dynamic_output_shape_nhwc; 514 }; 515 516 std::vector<MixedTypedExample>& get_examples_layouts_dynamic_output_shape_nhwc_weight_as_input() { 517 static std::vector<MixedTypedExample> examples_layouts_dynamic_output_shape_nhwc_weight_as_input = { 518 // Begin of an example 519 { 520 .operands = { 521 //Input(s) 522 { // See tools/test_generator/include/TestHarness.h:MixedTyped 523 // int -> Dimensions map 524 .operandDimensions = {{0, {1, 3, 1, 2}}, {1, {3, 1, 1, 2}}, {2, {3}}}, 525 // int -> FLOAT32 map 526 .float32Operands = {}, 527 // int -> INT32 map 528 .int32Operands = {{2, {4, 4, 4}}}, 529 // int -> QUANT8_ASYMM map 530 .quant8AsymmOperands = {{0, {138, 108, 138, 108, 138, 108}}}, 531 // int -> QUANT16_SYMM map 532 .quant16SymmOperands = {}, 533 // int -> FLOAT16 map 534 .float16Operands = {}, 535 // int -> BOOL8 map 536 .bool8Operands = {}, 537 // int -> QUANT8_SYMM_PER_CHANNEL map 538 .quant8ChannelOperands = {{1, {1, 2, 1, 2, 1, 2}}}, 539 // int -> QUANT16_ASYMM map 540 .quant16AsymmOperands = {}, 541 // int -> QUANT8_SYMM map 542 .quant8SymmOperands = {}, 543 }, 544 //Output(s) 545 { // See tools/test_generator/include/TestHarness.h:MixedTyped 546 // int -> Dimensions map 547 .operandDimensions = {{0, {1, 3, 1, 3}}}, 548 // int -> FLOAT32 map 549 .float32Operands = {}, 550 // int -> INT32 map 551 .int32Operands = {}, 552 // int -> QUANT8_ASYMM map 553 .quant8AsymmOperands = {{0, {121, 118, 115, 121, 118, 115, 121, 118, 115}}}, 554 // int -> QUANT16_SYMM map 555 .quant16SymmOperands = {}, 556 // int -> FLOAT16 map 557 .float16Operands = {}, 558 // int -> BOOL8 map 559 .bool8Operands = {}, 560 // int -> QUANT8_SYMM_PER_CHANNEL map 561 .quant8ChannelOperands = {}, 562 // int -> QUANT16_ASYMM map 563 .quant16AsymmOperands = {}, 564 // int -> QUANT8_SYMM map 565 .quant8SymmOperands = {}, 566 } 567 }, 568 }, // End of an example 569 }; 570 return examples_layouts_dynamic_output_shape_nhwc_weight_as_input; 571 }; 572 573 std::vector<MixedTypedExample>& get_examples_layouts_dynamic_output_shape_nchw() { 574 static std::vector<MixedTypedExample> examples_layouts_dynamic_output_shape_nchw = { 575 // Begin of an example 576 { 577 .operands = { 578 //Input(s) 579 { // See tools/test_generator/include/TestHarness.h:MixedTyped 580 // int -> Dimensions map 581 .operandDimensions = {{0, {1, 2, 3, 1}}}, 582 // int -> FLOAT32 map 583 .float32Operands = {}, 584 // int -> INT32 map 585 .int32Operands = {}, 586 // int -> QUANT8_ASYMM map 587 .quant8AsymmOperands = {{0, {138, 138, 138, 108, 108, 108}}}, 588 // int -> QUANT16_SYMM map 589 .quant16SymmOperands = {}, 590 // int -> FLOAT16 map 591 .float16Operands = {}, 592 // int -> BOOL8 map 593 .bool8Operands = {}, 594 // int -> QUANT8_SYMM_PER_CHANNEL map 595 .quant8ChannelOperands = {}, 596 // int -> QUANT16_ASYMM map 597 .quant16AsymmOperands = {}, 598 // int -> QUANT8_SYMM map 599 .quant8SymmOperands = {}, 600 }, 601 //Output(s) 602 { // See tools/test_generator/include/TestHarness.h:MixedTyped 603 // int -> Dimensions map 604 .operandDimensions = {{0, {1, 3, 3, 1}}}, 605 // int -> FLOAT32 map 606 .float32Operands = {}, 607 // int -> INT32 map 608 .int32Operands = {}, 609 // int -> QUANT8_ASYMM map 610 .quant8AsymmOperands = {{0, {121, 121, 121, 118, 118, 118, 115, 115, 115}}}, 611 // int -> QUANT16_SYMM map 612 .quant16SymmOperands = {}, 613 // int -> FLOAT16 map 614 .float16Operands = {}, 615 // int -> BOOL8 map 616 .bool8Operands = {}, 617 // int -> QUANT8_SYMM_PER_CHANNEL map 618 .quant8ChannelOperands = {}, 619 // int -> QUANT16_ASYMM map 620 .quant16AsymmOperands = {}, 621 // int -> QUANT8_SYMM map 622 .quant8SymmOperands = {}, 623 } 624 }, 625 }, // End of an example 626 }; 627 return examples_layouts_dynamic_output_shape_nchw; 628 }; 629 630 std::vector<MixedTypedExample>& get_examples_layouts_dynamic_output_shape_nchw_weight_as_input() { 631 static std::vector<MixedTypedExample> examples_layouts_dynamic_output_shape_nchw_weight_as_input = { 632 // Begin of an example 633 { 634 .operands = { 635 //Input(s) 636 { // See tools/test_generator/include/TestHarness.h:MixedTyped 637 // int -> Dimensions map 638 .operandDimensions = {{0, {1, 2, 3, 1}}, {1, {3, 1, 1, 2}}, {2, {3}}}, 639 // int -> FLOAT32 map 640 .float32Operands = {}, 641 // int -> INT32 map 642 .int32Operands = {{2, {4, 4, 4}}}, 643 // int -> QUANT8_ASYMM map 644 .quant8AsymmOperands = {{0, {138, 138, 138, 108, 108, 108}}}, 645 // int -> QUANT16_SYMM map 646 .quant16SymmOperands = {}, 647 // int -> FLOAT16 map 648 .float16Operands = {}, 649 // int -> BOOL8 map 650 .bool8Operands = {}, 651 // int -> QUANT8_SYMM_PER_CHANNEL map 652 .quant8ChannelOperands = {{1, {1, 2, 1, 2, 1, 2}}}, 653 // int -> QUANT16_ASYMM map 654 .quant16AsymmOperands = {}, 655 // int -> QUANT8_SYMM map 656 .quant8SymmOperands = {}, 657 }, 658 //Output(s) 659 { // See tools/test_generator/include/TestHarness.h:MixedTyped 660 // int -> Dimensions map 661 .operandDimensions = {{0, {1, 3, 3, 1}}}, 662 // int -> FLOAT32 map 663 .float32Operands = {}, 664 // int -> INT32 map 665 .int32Operands = {}, 666 // int -> QUANT8_ASYMM map 667 .quant8AsymmOperands = {{0, {121, 121, 121, 118, 118, 118, 115, 115, 115}}}, 668 // int -> QUANT16_SYMM map 669 .quant16SymmOperands = {}, 670 // int -> FLOAT16 map 671 .float16Operands = {}, 672 // int -> BOOL8 map 673 .bool8Operands = {}, 674 // int -> QUANT8_SYMM_PER_CHANNEL map 675 .quant8ChannelOperands = {}, 676 // int -> QUANT16_ASYMM map 677 .quant16AsymmOperands = {}, 678 // int -> QUANT8_SYMM map 679 .quant8SymmOperands = {}, 680 } 681 }, 682 }, // End of an example 683 }; 684 return examples_layouts_dynamic_output_shape_nchw_weight_as_input; 685 }; 686 687 std::vector<MixedTypedExample>& get_examples_zero_sized_nhwc() { 688 static std::vector<MixedTypedExample> examples_zero_sized_nhwc = { 689 // Begin of an example 690 { 691 .operands = { 692 //Input(s) 693 { // See tools/test_generator/include/TestHarness.h:MixedTyped 694 // int -> Dimensions map 695 .operandDimensions = {{0, {1, 1, 1, 2}}}, 696 // int -> FLOAT32 map 697 .float32Operands = {}, 698 // int -> INT32 map 699 .int32Operands = {}, 700 // int -> QUANT8_ASYMM map 701 .quant8AsymmOperands = {{0, {130, 130}}}, 702 // int -> QUANT16_SYMM map 703 .quant16SymmOperands = {}, 704 // int -> FLOAT16 map 705 .float16Operands = {}, 706 // int -> BOOL8 map 707 .bool8Operands = {}, 708 // int -> QUANT8_SYMM_PER_CHANNEL map 709 .quant8ChannelOperands = {}, 710 // int -> QUANT16_ASYMM map 711 .quant16AsymmOperands = {}, 712 // int -> QUANT8_SYMM map 713 .quant8SymmOperands = {}, 714 }, 715 //Output(s) 716 { // See tools/test_generator/include/TestHarness.h:MixedTyped 717 // int -> Dimensions map 718 .operandDimensions = {{0, {0}}, {1, {0}}, {2, {0, 2, 2, 3}}}, 719 // int -> FLOAT32 map 720 .float32Operands = {}, 721 // int -> INT32 map 722 .int32Operands = {{1, {0}}}, 723 // int -> QUANT8_ASYMM map 724 .quant8AsymmOperands = {{0, {0}}, {2, {0}}}, 725 // int -> QUANT16_SYMM map 726 .quant16SymmOperands = {}, 727 // int -> FLOAT16 map 728 .float16Operands = {}, 729 // int -> BOOL8 map 730 .bool8Operands = {}, 731 // int -> QUANT8_SYMM_PER_CHANNEL map 732 .quant8ChannelOperands = {}, 733 // int -> QUANT16_ASYMM map 734 .quant16AsymmOperands = {}, 735 // int -> QUANT8_SYMM map 736 .quant8SymmOperands = {}, 737 } 738 }, 739 }, // End of an example 740 }; 741 return examples_zero_sized_nhwc; 742 }; 743 744 std::vector<MixedTypedExample>& get_examples_zero_sized_nchw() { 745 static std::vector<MixedTypedExample> examples_zero_sized_nchw = { 746 // Begin of an example 747 { 748 .operands = { 749 //Input(s) 750 { // See tools/test_generator/include/TestHarness.h:MixedTyped 751 // int -> Dimensions map 752 .operandDimensions = {{0, {1, 2, 1, 1}}}, 753 // int -> FLOAT32 map 754 .float32Operands = {}, 755 // int -> INT32 map 756 .int32Operands = {}, 757 // int -> QUANT8_ASYMM map 758 .quant8AsymmOperands = {{0, {130, 130}}}, 759 // int -> QUANT16_SYMM map 760 .quant16SymmOperands = {}, 761 // int -> FLOAT16 map 762 .float16Operands = {}, 763 // int -> BOOL8 map 764 .bool8Operands = {}, 765 // int -> QUANT8_SYMM_PER_CHANNEL map 766 .quant8ChannelOperands = {}, 767 // int -> QUANT16_ASYMM map 768 .quant16AsymmOperands = {}, 769 // int -> QUANT8_SYMM map 770 .quant8SymmOperands = {}, 771 }, 772 //Output(s) 773 { // See tools/test_generator/include/TestHarness.h:MixedTyped 774 // int -> Dimensions map 775 .operandDimensions = {{0, {0}}, {1, {0}}, {2, {0, 3, 2, 2}}}, 776 // int -> FLOAT32 map 777 .float32Operands = {}, 778 // int -> INT32 map 779 .int32Operands = {{1, {0}}}, 780 // int -> QUANT8_ASYMM map 781 .quant8AsymmOperands = {{0, {0}}, {2, {0}}}, 782 // int -> QUANT16_SYMM map 783 .quant16SymmOperands = {}, 784 // int -> FLOAT16 map 785 .float16Operands = {}, 786 // int -> BOOL8 map 787 .bool8Operands = {}, 788 // int -> QUANT8_SYMM_PER_CHANNEL map 789 .quant8ChannelOperands = {}, 790 // int -> QUANT16_ASYMM map 791 .quant16AsymmOperands = {}, 792 // int -> QUANT8_SYMM map 793 .quant8SymmOperands = {}, 794 } 795 }, 796 }, // End of an example 797 }; 798 return examples_zero_sized_nchw; 799 }; 800 801 std::vector<MixedTypedExample>& get_examples_zero_sized_dynamic_output_shape_nhwc() { 802 static std::vector<MixedTypedExample> examples_zero_sized_dynamic_output_shape_nhwc = { 803 // Begin of an example 804 { 805 .operands = { 806 //Input(s) 807 { // See tools/test_generator/include/TestHarness.h:MixedTyped 808 // int -> Dimensions map 809 .operandDimensions = {{0, {1, 1, 1, 2}}}, 810 // int -> FLOAT32 map 811 .float32Operands = {}, 812 // int -> INT32 map 813 .int32Operands = {}, 814 // int -> QUANT8_ASYMM map 815 .quant8AsymmOperands = {{0, {130, 130}}}, 816 // int -> QUANT16_SYMM map 817 .quant16SymmOperands = {}, 818 // int -> FLOAT16 map 819 .float16Operands = {}, 820 // int -> BOOL8 map 821 .bool8Operands = {}, 822 // int -> QUANT8_SYMM_PER_CHANNEL map 823 .quant8ChannelOperands = {}, 824 // int -> QUANT16_ASYMM map 825 .quant16AsymmOperands = {}, 826 // int -> QUANT8_SYMM map 827 .quant8SymmOperands = {}, 828 }, 829 //Output(s) 830 { // See tools/test_generator/include/TestHarness.h:MixedTyped 831 // int -> Dimensions map 832 .operandDimensions = {{0, {0}}, {1, {0}}, {2, {0, 2, 2, 3}}}, 833 // int -> FLOAT32 map 834 .float32Operands = {}, 835 // int -> INT32 map 836 .int32Operands = {{1, {0}}}, 837 // int -> QUANT8_ASYMM map 838 .quant8AsymmOperands = {{0, {0}}, {2, {0}}}, 839 // int -> QUANT16_SYMM map 840 .quant16SymmOperands = {}, 841 // int -> FLOAT16 map 842 .float16Operands = {}, 843 // int -> BOOL8 map 844 .bool8Operands = {}, 845 // int -> QUANT8_SYMM_PER_CHANNEL map 846 .quant8ChannelOperands = {}, 847 // int -> QUANT16_ASYMM map 848 .quant16AsymmOperands = {}, 849 // int -> QUANT8_SYMM map 850 .quant8SymmOperands = {}, 851 } 852 }, 853 }, // End of an example 854 }; 855 return examples_zero_sized_dynamic_output_shape_nhwc; 856 }; 857 858 std::vector<MixedTypedExample>& get_examples_zero_sized_dynamic_output_shape_nchw() { 859 static std::vector<MixedTypedExample> examples_zero_sized_dynamic_output_shape_nchw = { 860 // Begin of an example 861 { 862 .operands = { 863 //Input(s) 864 { // See tools/test_generator/include/TestHarness.h:MixedTyped 865 // int -> Dimensions map 866 .operandDimensions = {{0, {1, 2, 1, 1}}}, 867 // int -> FLOAT32 map 868 .float32Operands = {}, 869 // int -> INT32 map 870 .int32Operands = {}, 871 // int -> QUANT8_ASYMM map 872 .quant8AsymmOperands = {{0, {130, 130}}}, 873 // int -> QUANT16_SYMM map 874 .quant16SymmOperands = {}, 875 // int -> FLOAT16 map 876 .float16Operands = {}, 877 // int -> BOOL8 map 878 .bool8Operands = {}, 879 // int -> QUANT8_SYMM_PER_CHANNEL map 880 .quant8ChannelOperands = {}, 881 // int -> QUANT16_ASYMM map 882 .quant16AsymmOperands = {}, 883 // int -> QUANT8_SYMM map 884 .quant8SymmOperands = {}, 885 }, 886 //Output(s) 887 { // See tools/test_generator/include/TestHarness.h:MixedTyped 888 // int -> Dimensions map 889 .operandDimensions = {{0, {0}}, {1, {0}}, {2, {0, 3, 2, 2}}}, 890 // int -> FLOAT32 map 891 .float32Operands = {}, 892 // int -> INT32 map 893 .int32Operands = {{1, {0}}}, 894 // int -> QUANT8_ASYMM map 895 .quant8AsymmOperands = {{0, {0}}, {2, {0}}}, 896 // int -> QUANT16_SYMM map 897 .quant16SymmOperands = {}, 898 // int -> FLOAT16 map 899 .float16Operands = {}, 900 // int -> BOOL8 map 901 .bool8Operands = {}, 902 // int -> QUANT8_SYMM_PER_CHANNEL map 903 .quant8ChannelOperands = {}, 904 // int -> QUANT16_ASYMM map 905 .quant16AsymmOperands = {}, 906 // int -> QUANT8_SYMM map 907 .quant8SymmOperands = {}, 908 } 909 }, 910 }, // End of an example 911 }; 912 return examples_zero_sized_dynamic_output_shape_nchw; 913 }; 914 915