Home | History | Annotate | Download | only in vts_models
      1 // clang-format off
      2 // Generated file (from: argmax_2.mod.py). Do not edit
      3 // Create the model
      4 Model createTestModel() {
      5     const std::vector<Operand> operands = {
      6         {
      7             .type = OperandType::TENSOR_FLOAT32,
      8             .dimensions = {2, 2},
      9             .numberOfConsumers = 1,
     10             .scale = 0.0f,
     11             .zeroPoint = 0,
     12             .lifetime = OperandLifeTime::MODEL_INPUT,
     13             .location = {.poolIndex = 0, .offset = 0, .length = 0},
     14         },
     15         {
     16             .type = OperandType::INT32,
     17             .dimensions = {},
     18             .numberOfConsumers = 1,
     19             .scale = 0.0f,
     20             .zeroPoint = 0,
     21             .lifetime = OperandLifeTime::CONSTANT_COPY,
     22             .location = {.poolIndex = 0, .offset = 0, .length = 4},
     23         },
     24         {
     25             .type = OperandType::TENSOR_INT32,
     26             .dimensions = {2},
     27             .numberOfConsumers = 0,
     28             .scale = 0.0f,
     29             .zeroPoint = 0,
     30             .lifetime = OperandLifeTime::MODEL_OUTPUT,
     31             .location = {.poolIndex = 0, .offset = 0, .length = 0},
     32         }
     33     };
     34 
     35     const std::vector<Operation> operations = {
     36         {
     37             .type = OperationType::ARGMAX,
     38             .inputs = {0, 1},
     39             .outputs = {2},
     40         }
     41     };
     42 
     43     const std::vector<uint32_t> inputIndexes = {0};
     44     const std::vector<uint32_t> outputIndexes = {2};
     45     std::vector<uint8_t> operandValues = {
     46       0, 0, 0, 0
     47     };
     48     const std::vector<hidl_memory> pools = {};
     49 
     50     return {
     51         .operands = operands,
     52         .operations = operations,
     53         .inputIndexes = inputIndexes,
     54         .outputIndexes = outputIndexes,
     55         .operandValues = operandValues,
     56         .pools = pools,
     57     };
     58 }
     59 
     60 inline bool is_ignored(int i) {
     61   static std::set<int> ignore = {};
     62   return ignore.find(i) != ignore.end();
     63 }
     64 
     65 // Create the model
     66 Model createTestModel_relaxed() {
     67     const std::vector<Operand> operands = {
     68         {
     69             .type = OperandType::TENSOR_FLOAT32,
     70             .dimensions = {2, 2},
     71             .numberOfConsumers = 1,
     72             .scale = 0.0f,
     73             .zeroPoint = 0,
     74             .lifetime = OperandLifeTime::MODEL_INPUT,
     75             .location = {.poolIndex = 0, .offset = 0, .length = 0},
     76         },
     77         {
     78             .type = OperandType::INT32,
     79             .dimensions = {},
     80             .numberOfConsumers = 1,
     81             .scale = 0.0f,
     82             .zeroPoint = 0,
     83             .lifetime = OperandLifeTime::CONSTANT_COPY,
     84             .location = {.poolIndex = 0, .offset = 0, .length = 4},
     85         },
     86         {
     87             .type = OperandType::TENSOR_INT32,
     88             .dimensions = {2},
     89             .numberOfConsumers = 0,
     90             .scale = 0.0f,
     91             .zeroPoint = 0,
     92             .lifetime = OperandLifeTime::MODEL_OUTPUT,
     93             .location = {.poolIndex = 0, .offset = 0, .length = 0},
     94         }
     95     };
     96 
     97     const std::vector<Operation> operations = {
     98         {
     99             .type = OperationType::ARGMAX,
    100             .inputs = {0, 1},
    101             .outputs = {2},
    102         }
    103     };
    104 
    105     const std::vector<uint32_t> inputIndexes = {0};
    106     const std::vector<uint32_t> outputIndexes = {2};
    107     std::vector<uint8_t> operandValues = {
    108       0, 0, 0, 0
    109     };
    110     const std::vector<hidl_memory> pools = {};
    111 
    112     return {
    113         .operands = operands,
    114         .operations = operations,
    115         .inputIndexes = inputIndexes,
    116         .outputIndexes = outputIndexes,
    117         .operandValues = operandValues,
    118         .pools = pools,
    119         .relaxComputationFloat32toFloat16 = true,
    120     };
    121 }
    122 
    123 inline bool is_ignored_relaxed(int i) {
    124   static std::set<int> ignore = {};
    125   return ignore.find(i) != ignore.end();
    126 }
    127 
    128 // Create the model
    129 Model createTestModel_float16() {
    130     const std::vector<Operand> operands = {
    131         {
    132             .type = OperandType::TENSOR_FLOAT16,
    133             .dimensions = {2, 2},
    134             .numberOfConsumers = 1,
    135             .scale = 0.0f,
    136             .zeroPoint = 0,
    137             .lifetime = OperandLifeTime::MODEL_INPUT,
    138             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    139         },
    140         {
    141             .type = OperandType::INT32,
    142             .dimensions = {},
    143             .numberOfConsumers = 1,
    144             .scale = 0.0f,
    145             .zeroPoint = 0,
    146             .lifetime = OperandLifeTime::CONSTANT_COPY,
    147             .location = {.poolIndex = 0, .offset = 0, .length = 4},
    148         },
    149         {
    150             .type = OperandType::TENSOR_INT32,
    151             .dimensions = {2},
    152             .numberOfConsumers = 0,
    153             .scale = 0.0f,
    154             .zeroPoint = 0,
    155             .lifetime = OperandLifeTime::MODEL_OUTPUT,
    156             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    157         }
    158     };
    159 
    160     const std::vector<Operation> operations = {
    161         {
    162             .type = OperationType::ARGMAX,
    163             .inputs = {0, 1},
    164             .outputs = {2},
    165         }
    166     };
    167 
    168     const std::vector<uint32_t> inputIndexes = {0};
    169     const std::vector<uint32_t> outputIndexes = {2};
    170     std::vector<uint8_t> operandValues = {
    171       0, 0, 0, 0
    172     };
    173     const std::vector<hidl_memory> pools = {};
    174 
    175     return {
    176         .operands = operands,
    177         .operations = operations,
    178         .inputIndexes = inputIndexes,
    179         .outputIndexes = outputIndexes,
    180         .operandValues = operandValues,
    181         .pools = pools,
    182     };
    183 }
    184 
    185 inline bool is_ignored_float16(int i) {
    186   static std::set<int> ignore = {};
    187   return ignore.find(i) != ignore.end();
    188 }
    189 
    190 // Create the model
    191 Model createTestModel_int32() {
    192     const std::vector<Operand> operands = {
    193         {
    194             .type = OperandType::TENSOR_INT32,
    195             .dimensions = {2, 2},
    196             .numberOfConsumers = 1,
    197             .scale = 0.0f,
    198             .zeroPoint = 0,
    199             .lifetime = OperandLifeTime::MODEL_INPUT,
    200             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    201         },
    202         {
    203             .type = OperandType::INT32,
    204             .dimensions = {},
    205             .numberOfConsumers = 1,
    206             .scale = 0.0f,
    207             .zeroPoint = 0,
    208             .lifetime = OperandLifeTime::CONSTANT_COPY,
    209             .location = {.poolIndex = 0, .offset = 0, .length = 4},
    210         },
    211         {
    212             .type = OperandType::TENSOR_INT32,
    213             .dimensions = {2},
    214             .numberOfConsumers = 0,
    215             .scale = 0.0f,
    216             .zeroPoint = 0,
    217             .lifetime = OperandLifeTime::MODEL_OUTPUT,
    218             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    219         }
    220     };
    221 
    222     const std::vector<Operation> operations = {
    223         {
    224             .type = OperationType::ARGMAX,
    225             .inputs = {0, 1},
    226             .outputs = {2},
    227         }
    228     };
    229 
    230     const std::vector<uint32_t> inputIndexes = {0};
    231     const std::vector<uint32_t> outputIndexes = {2};
    232     std::vector<uint8_t> operandValues = {
    233       0, 0, 0, 0
    234     };
    235     const std::vector<hidl_memory> pools = {};
    236 
    237     return {
    238         .operands = operands,
    239         .operations = operations,
    240         .inputIndexes = inputIndexes,
    241         .outputIndexes = outputIndexes,
    242         .operandValues = operandValues,
    243         .pools = pools,
    244     };
    245 }
    246 
    247 inline bool is_ignored_int32(int i) {
    248   static std::set<int> ignore = {};
    249   return ignore.find(i) != ignore.end();
    250 }
    251 
    252 // Create the model
    253 Model createTestModel_quant8() {
    254     const std::vector<Operand> operands = {
    255         {
    256             .type = OperandType::TENSOR_QUANT8_ASYMM,
    257             .dimensions = {2, 2},
    258             .numberOfConsumers = 1,
    259             .scale = 1.0f,
    260             .zeroPoint = 0,
    261             .lifetime = OperandLifeTime::MODEL_INPUT,
    262             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    263         },
    264         {
    265             .type = OperandType::INT32,
    266             .dimensions = {},
    267             .numberOfConsumers = 1,
    268             .scale = 0.0f,
    269             .zeroPoint = 0,
    270             .lifetime = OperandLifeTime::CONSTANT_COPY,
    271             .location = {.poolIndex = 0, .offset = 0, .length = 4},
    272         },
    273         {
    274             .type = OperandType::TENSOR_INT32,
    275             .dimensions = {2},
    276             .numberOfConsumers = 0,
    277             .scale = 0.0f,
    278             .zeroPoint = 0,
    279             .lifetime = OperandLifeTime::MODEL_OUTPUT,
    280             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    281         }
    282     };
    283 
    284     const std::vector<Operation> operations = {
    285         {
    286             .type = OperationType::ARGMAX,
    287             .inputs = {0, 1},
    288             .outputs = {2},
    289         }
    290     };
    291 
    292     const std::vector<uint32_t> inputIndexes = {0};
    293     const std::vector<uint32_t> outputIndexes = {2};
    294     std::vector<uint8_t> operandValues = {
    295       0, 0, 0, 0
    296     };
    297     const std::vector<hidl_memory> pools = {};
    298 
    299     return {
    300         .operands = operands,
    301         .operations = operations,
    302         .inputIndexes = inputIndexes,
    303         .outputIndexes = outputIndexes,
    304         .operandValues = operandValues,
    305         .pools = pools,
    306     };
    307 }
    308 
    309 inline bool is_ignored_quant8(int i) {
    310   static std::set<int> ignore = {};
    311   return ignore.find(i) != ignore.end();
    312 }
    313 
    314 // Create the model
    315 Model createTestModel_dynamic_output_shape() {
    316     const std::vector<Operand> operands = {
    317         {
    318             .type = OperandType::TENSOR_FLOAT32,
    319             .dimensions = {2, 2},
    320             .numberOfConsumers = 1,
    321             .scale = 0.0f,
    322             .zeroPoint = 0,
    323             .lifetime = OperandLifeTime::MODEL_INPUT,
    324             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    325         },
    326         {
    327             .type = OperandType::INT32,
    328             .dimensions = {},
    329             .numberOfConsumers = 1,
    330             .scale = 0.0f,
    331             .zeroPoint = 0,
    332             .lifetime = OperandLifeTime::CONSTANT_COPY,
    333             .location = {.poolIndex = 0, .offset = 0, .length = 4},
    334         },
    335         {
    336             .type = OperandType::TENSOR_INT32,
    337             .dimensions = {0},
    338             .numberOfConsumers = 0,
    339             .scale = 0.0f,
    340             .zeroPoint = 0,
    341             .lifetime = OperandLifeTime::MODEL_OUTPUT,
    342             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    343         }
    344     };
    345 
    346     const std::vector<Operation> operations = {
    347         {
    348             .type = OperationType::ARGMAX,
    349             .inputs = {0, 1},
    350             .outputs = {2},
    351         }
    352     };
    353 
    354     const std::vector<uint32_t> inputIndexes = {0};
    355     const std::vector<uint32_t> outputIndexes = {2};
    356     std::vector<uint8_t> operandValues = {
    357       0, 0, 0, 0
    358     };
    359     const std::vector<hidl_memory> pools = {};
    360 
    361     return {
    362         .operands = operands,
    363         .operations = operations,
    364         .inputIndexes = inputIndexes,
    365         .outputIndexes = outputIndexes,
    366         .operandValues = operandValues,
    367         .pools = pools,
    368     };
    369 }
    370 
    371 inline bool is_ignored_dynamic_output_shape(int i) {
    372   static std::set<int> ignore = {};
    373   return ignore.find(i) != ignore.end();
    374 }
    375 
    376 // Create the model
    377 Model createTestModel_dynamic_output_shape_relaxed() {
    378     const std::vector<Operand> operands = {
    379         {
    380             .type = OperandType::TENSOR_FLOAT32,
    381             .dimensions = {2, 2},
    382             .numberOfConsumers = 1,
    383             .scale = 0.0f,
    384             .zeroPoint = 0,
    385             .lifetime = OperandLifeTime::MODEL_INPUT,
    386             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    387         },
    388         {
    389             .type = OperandType::INT32,
    390             .dimensions = {},
    391             .numberOfConsumers = 1,
    392             .scale = 0.0f,
    393             .zeroPoint = 0,
    394             .lifetime = OperandLifeTime::CONSTANT_COPY,
    395             .location = {.poolIndex = 0, .offset = 0, .length = 4},
    396         },
    397         {
    398             .type = OperandType::TENSOR_INT32,
    399             .dimensions = {0},
    400             .numberOfConsumers = 0,
    401             .scale = 0.0f,
    402             .zeroPoint = 0,
    403             .lifetime = OperandLifeTime::MODEL_OUTPUT,
    404             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    405         }
    406     };
    407 
    408     const std::vector<Operation> operations = {
    409         {
    410             .type = OperationType::ARGMAX,
    411             .inputs = {0, 1},
    412             .outputs = {2},
    413         }
    414     };
    415 
    416     const std::vector<uint32_t> inputIndexes = {0};
    417     const std::vector<uint32_t> outputIndexes = {2};
    418     std::vector<uint8_t> operandValues = {
    419       0, 0, 0, 0
    420     };
    421     const std::vector<hidl_memory> pools = {};
    422 
    423     return {
    424         .operands = operands,
    425         .operations = operations,
    426         .inputIndexes = inputIndexes,
    427         .outputIndexes = outputIndexes,
    428         .operandValues = operandValues,
    429         .pools = pools,
    430         .relaxComputationFloat32toFloat16 = true,
    431     };
    432 }
    433 
    434 inline bool is_ignored_dynamic_output_shape_relaxed(int i) {
    435   static std::set<int> ignore = {};
    436   return ignore.find(i) != ignore.end();
    437 }
    438 
    439 // Create the model
    440 Model createTestModel_dynamic_output_shape_float16() {
    441     const std::vector<Operand> operands = {
    442         {
    443             .type = OperandType::TENSOR_FLOAT16,
    444             .dimensions = {2, 2},
    445             .numberOfConsumers = 1,
    446             .scale = 0.0f,
    447             .zeroPoint = 0,
    448             .lifetime = OperandLifeTime::MODEL_INPUT,
    449             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    450         },
    451         {
    452             .type = OperandType::INT32,
    453             .dimensions = {},
    454             .numberOfConsumers = 1,
    455             .scale = 0.0f,
    456             .zeroPoint = 0,
    457             .lifetime = OperandLifeTime::CONSTANT_COPY,
    458             .location = {.poolIndex = 0, .offset = 0, .length = 4},
    459         },
    460         {
    461             .type = OperandType::TENSOR_INT32,
    462             .dimensions = {0},
    463             .numberOfConsumers = 0,
    464             .scale = 0.0f,
    465             .zeroPoint = 0,
    466             .lifetime = OperandLifeTime::MODEL_OUTPUT,
    467             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    468         }
    469     };
    470 
    471     const std::vector<Operation> operations = {
    472         {
    473             .type = OperationType::ARGMAX,
    474             .inputs = {0, 1},
    475             .outputs = {2},
    476         }
    477     };
    478 
    479     const std::vector<uint32_t> inputIndexes = {0};
    480     const std::vector<uint32_t> outputIndexes = {2};
    481     std::vector<uint8_t> operandValues = {
    482       0, 0, 0, 0
    483     };
    484     const std::vector<hidl_memory> pools = {};
    485 
    486     return {
    487         .operands = operands,
    488         .operations = operations,
    489         .inputIndexes = inputIndexes,
    490         .outputIndexes = outputIndexes,
    491         .operandValues = operandValues,
    492         .pools = pools,
    493     };
    494 }
    495 
    496 inline bool is_ignored_dynamic_output_shape_float16(int i) {
    497   static std::set<int> ignore = {};
    498   return ignore.find(i) != ignore.end();
    499 }
    500 
    501 // Create the model
    502 Model createTestModel_dynamic_output_shape_int32() {
    503     const std::vector<Operand> operands = {
    504         {
    505             .type = OperandType::TENSOR_INT32,
    506             .dimensions = {2, 2},
    507             .numberOfConsumers = 1,
    508             .scale = 0.0f,
    509             .zeroPoint = 0,
    510             .lifetime = OperandLifeTime::MODEL_INPUT,
    511             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    512         },
    513         {
    514             .type = OperandType::INT32,
    515             .dimensions = {},
    516             .numberOfConsumers = 1,
    517             .scale = 0.0f,
    518             .zeroPoint = 0,
    519             .lifetime = OperandLifeTime::CONSTANT_COPY,
    520             .location = {.poolIndex = 0, .offset = 0, .length = 4},
    521         },
    522         {
    523             .type = OperandType::TENSOR_INT32,
    524             .dimensions = {0},
    525             .numberOfConsumers = 0,
    526             .scale = 0.0f,
    527             .zeroPoint = 0,
    528             .lifetime = OperandLifeTime::MODEL_OUTPUT,
    529             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    530         }
    531     };
    532 
    533     const std::vector<Operation> operations = {
    534         {
    535             .type = OperationType::ARGMAX,
    536             .inputs = {0, 1},
    537             .outputs = {2},
    538         }
    539     };
    540 
    541     const std::vector<uint32_t> inputIndexes = {0};
    542     const std::vector<uint32_t> outputIndexes = {2};
    543     std::vector<uint8_t> operandValues = {
    544       0, 0, 0, 0
    545     };
    546     const std::vector<hidl_memory> pools = {};
    547 
    548     return {
    549         .operands = operands,
    550         .operations = operations,
    551         .inputIndexes = inputIndexes,
    552         .outputIndexes = outputIndexes,
    553         .operandValues = operandValues,
    554         .pools = pools,
    555     };
    556 }
    557 
    558 inline bool is_ignored_dynamic_output_shape_int32(int i) {
    559   static std::set<int> ignore = {};
    560   return ignore.find(i) != ignore.end();
    561 }
    562 
    563 // Create the model
    564 Model createTestModel_dynamic_output_shape_quant8() {
    565     const std::vector<Operand> operands = {
    566         {
    567             .type = OperandType::TENSOR_QUANT8_ASYMM,
    568             .dimensions = {2, 2},
    569             .numberOfConsumers = 1,
    570             .scale = 1.0f,
    571             .zeroPoint = 0,
    572             .lifetime = OperandLifeTime::MODEL_INPUT,
    573             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    574         },
    575         {
    576             .type = OperandType::INT32,
    577             .dimensions = {},
    578             .numberOfConsumers = 1,
    579             .scale = 0.0f,
    580             .zeroPoint = 0,
    581             .lifetime = OperandLifeTime::CONSTANT_COPY,
    582             .location = {.poolIndex = 0, .offset = 0, .length = 4},
    583         },
    584         {
    585             .type = OperandType::TENSOR_INT32,
    586             .dimensions = {0},
    587             .numberOfConsumers = 0,
    588             .scale = 0.0f,
    589             .zeroPoint = 0,
    590             .lifetime = OperandLifeTime::MODEL_OUTPUT,
    591             .location = {.poolIndex = 0, .offset = 0, .length = 0},
    592         }
    593     };
    594 
    595     const std::vector<Operation> operations = {
    596         {
    597             .type = OperationType::ARGMAX,
    598             .inputs = {0, 1},
    599             .outputs = {2},
    600         }
    601     };
    602 
    603     const std::vector<uint32_t> inputIndexes = {0};
    604     const std::vector<uint32_t> outputIndexes = {2};
    605     std::vector<uint8_t> operandValues = {
    606       0, 0, 0, 0
    607     };
    608     const std::vector<hidl_memory> pools = {};
    609 
    610     return {
    611         .operands = operands,
    612         .operations = operations,
    613         .inputIndexes = inputIndexes,
    614         .outputIndexes = outputIndexes,
    615         .operandValues = operandValues,
    616         .pools = pools,
    617     };
    618 }
    619 
    620 inline bool is_ignored_dynamic_output_shape_quant8(int i) {
    621   static std::set<int> ignore = {};
    622   return ignore.find(i) != ignore.end();
    623 }
    624 
    625