Home | History | Annotate | Download | only in models
      1 // clang-format off
      2 // Generated file (from: maximum.mod.py). Do not edit
      3 void CreateModel(Model *model) {
      4   OperandType type0(Type::TENSOR_FLOAT32, {3, 1, 2});
      5   // Phase 1, operands
      6   auto input0 = model->addOperand(&type0);
      7   auto input1 = model->addOperand(&type0);
      8   auto output0 = model->addOperand(&type0);
      9   // Phase 2, operations
     10   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input0, input1}, {output0});
     11   // Phase 3, inputs and outputs
     12   model->identifyInputsAndOutputs(
     13     {input0, input1},
     14     {output0});
     15   assert(model->isValid());
     16 }
     17 
     18 inline bool is_ignored(int i) {
     19   static std::set<int> ignore = {};
     20   return ignore.find(i) != ignore.end();
     21 }
     22 
     23 void CreateModel_relaxed(Model *model) {
     24   OperandType type0(Type::TENSOR_FLOAT32, {3, 1, 2});
     25   // Phase 1, operands
     26   auto input0 = model->addOperand(&type0);
     27   auto input1 = model->addOperand(&type0);
     28   auto output0 = model->addOperand(&type0);
     29   // Phase 2, operations
     30   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input0, input1}, {output0});
     31   // Phase 3, inputs and outputs
     32   model->identifyInputsAndOutputs(
     33     {input0, input1},
     34     {output0});
     35   // Phase 4: set relaxed execution
     36   model->relaxComputationFloat32toFloat16(true);
     37   assert(model->isValid());
     38 }
     39 
     40 inline bool is_ignored_relaxed(int i) {
     41   static std::set<int> ignore = {};
     42   return ignore.find(i) != ignore.end();
     43 }
     44 
     45 void CreateModel_float16(Model *model) {
     46   OperandType type4(Type::TENSOR_FLOAT16, {3, 1, 2});
     47   // Phase 1, operands
     48   auto input0 = model->addOperand(&type4);
     49   auto input1 = model->addOperand(&type4);
     50   auto output0 = model->addOperand(&type4);
     51   // Phase 2, operations
     52   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input0, input1}, {output0});
     53   // Phase 3, inputs and outputs
     54   model->identifyInputsAndOutputs(
     55     {input0, input1},
     56     {output0});
     57   assert(model->isValid());
     58 }
     59 
     60 inline bool is_ignored_float16(int i) {
     61   static std::set<int> ignore = {};
     62   return ignore.find(i) != ignore.end();
     63 }
     64 
     65 void CreateModel_int32(Model *model) {
     66   OperandType type5(Type::TENSOR_INT32, {3, 1, 2});
     67   // Phase 1, operands
     68   auto input0 = model->addOperand(&type5);
     69   auto input1 = model->addOperand(&type5);
     70   auto output0 = model->addOperand(&type5);
     71   // Phase 2, operations
     72   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input0, input1}, {output0});
     73   // Phase 3, inputs and outputs
     74   model->identifyInputsAndOutputs(
     75     {input0, input1},
     76     {output0});
     77   assert(model->isValid());
     78 }
     79 
     80 inline bool is_ignored_int32(int i) {
     81   static std::set<int> ignore = {};
     82   return ignore.find(i) != ignore.end();
     83 }
     84 
     85 void CreateModel_quant8(Model *model) {
     86   OperandType type6(Type::TENSOR_QUANT8_ASYMM, {3, 1, 2}, 0.5f, 127);
     87   OperandType type7(Type::TENSOR_QUANT8_ASYMM, {3, 1, 2}, 1.0f, 100);
     88   OperandType type8(Type::TENSOR_QUANT8_ASYMM, {3, 1, 2}, 2.0f, 80);
     89   // Phase 1, operands
     90   auto input0 = model->addOperand(&type6);
     91   auto input1 = model->addOperand(&type7);
     92   auto output0 = model->addOperand(&type8);
     93   // Phase 2, operations
     94   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input0, input1}, {output0});
     95   // Phase 3, inputs and outputs
     96   model->identifyInputsAndOutputs(
     97     {input0, input1},
     98     {output0});
     99   assert(model->isValid());
    100 }
    101 
    102 inline bool is_ignored_quant8(int i) {
    103   static std::set<int> ignore = {};
    104   return ignore.find(i) != ignore.end();
    105 }
    106 
    107 void CreateModel_dynamic_output_shape(Model *model) {
    108   OperandType type0(Type::TENSOR_FLOAT32, {3, 1, 2});
    109   OperandType type9(Type::TENSOR_FLOAT32, {0, 0, 0});
    110   // Phase 1, operands
    111   auto input0 = model->addOperand(&type0);
    112   auto input1 = model->addOperand(&type0);
    113   auto output0 = model->addOperand(&type9);
    114   // Phase 2, operations
    115   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input0, input1}, {output0});
    116   // Phase 3, inputs and outputs
    117   model->identifyInputsAndOutputs(
    118     {input0, input1},
    119     {output0});
    120   assert(model->isValid());
    121 }
    122 
    123 inline bool is_ignored_dynamic_output_shape(int i) {
    124   static std::set<int> ignore = {};
    125   return ignore.find(i) != ignore.end();
    126 }
    127 
    128 void CreateModel_dynamic_output_shape_relaxed(Model *model) {
    129   OperandType type0(Type::TENSOR_FLOAT32, {3, 1, 2});
    130   OperandType type9(Type::TENSOR_FLOAT32, {0, 0, 0});
    131   // Phase 1, operands
    132   auto input0 = model->addOperand(&type0);
    133   auto input1 = model->addOperand(&type0);
    134   auto output0 = model->addOperand(&type9);
    135   // Phase 2, operations
    136   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input0, input1}, {output0});
    137   // Phase 3, inputs and outputs
    138   model->identifyInputsAndOutputs(
    139     {input0, input1},
    140     {output0});
    141   // Phase 4: set relaxed execution
    142   model->relaxComputationFloat32toFloat16(true);
    143   assert(model->isValid());
    144 }
    145 
    146 inline bool is_ignored_dynamic_output_shape_relaxed(int i) {
    147   static std::set<int> ignore = {};
    148   return ignore.find(i) != ignore.end();
    149 }
    150 
    151 void CreateModel_dynamic_output_shape_float16(Model *model) {
    152   OperandType type10(Type::TENSOR_FLOAT16, {0, 0, 0});
    153   OperandType type4(Type::TENSOR_FLOAT16, {3, 1, 2});
    154   // Phase 1, operands
    155   auto input0 = model->addOperand(&type4);
    156   auto input1 = model->addOperand(&type4);
    157   auto output0 = model->addOperand(&type10);
    158   // Phase 2, operations
    159   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input0, input1}, {output0});
    160   // Phase 3, inputs and outputs
    161   model->identifyInputsAndOutputs(
    162     {input0, input1},
    163     {output0});
    164   assert(model->isValid());
    165 }
    166 
    167 inline bool is_ignored_dynamic_output_shape_float16(int i) {
    168   static std::set<int> ignore = {};
    169   return ignore.find(i) != ignore.end();
    170 }
    171 
    172 void CreateModel_dynamic_output_shape_int32(Model *model) {
    173   OperandType type11(Type::TENSOR_INT32, {0, 0, 0});
    174   OperandType type5(Type::TENSOR_INT32, {3, 1, 2});
    175   // Phase 1, operands
    176   auto input0 = model->addOperand(&type5);
    177   auto input1 = model->addOperand(&type5);
    178   auto output0 = model->addOperand(&type11);
    179   // Phase 2, operations
    180   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input0, input1}, {output0});
    181   // Phase 3, inputs and outputs
    182   model->identifyInputsAndOutputs(
    183     {input0, input1},
    184     {output0});
    185   assert(model->isValid());
    186 }
    187 
    188 inline bool is_ignored_dynamic_output_shape_int32(int i) {
    189   static std::set<int> ignore = {};
    190   return ignore.find(i) != ignore.end();
    191 }
    192 
    193 void CreateModel_dynamic_output_shape_quant8(Model *model) {
    194   OperandType type12(Type::TENSOR_QUANT8_ASYMM, {0, 0, 0}, 2.0f, 80);
    195   OperandType type6(Type::TENSOR_QUANT8_ASYMM, {3, 1, 2}, 0.5f, 127);
    196   OperandType type7(Type::TENSOR_QUANT8_ASYMM, {3, 1, 2}, 1.0f, 100);
    197   // Phase 1, operands
    198   auto input0 = model->addOperand(&type6);
    199   auto input1 = model->addOperand(&type7);
    200   auto output0 = model->addOperand(&type12);
    201   // Phase 2, operations
    202   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input0, input1}, {output0});
    203   // Phase 3, inputs and outputs
    204   model->identifyInputsAndOutputs(
    205     {input0, input1},
    206     {output0});
    207   assert(model->isValid());
    208 }
    209 
    210 inline bool is_ignored_dynamic_output_shape_quant8(int i) {
    211   static std::set<int> ignore = {};
    212   return ignore.find(i) != ignore.end();
    213 }
    214 
    215 void CreateModel_2(Model *model) {
    216   OperandType type0(Type::TENSOR_FLOAT32, {3, 1, 2});
    217   OperandType type1(Type::TENSOR_FLOAT32, {2});
    218   // Phase 1, operands
    219   auto input01 = model->addOperand(&type0);
    220   auto input11 = model->addOperand(&type1);
    221   auto output01 = model->addOperand(&type0);
    222   // Phase 2, operations
    223   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input01, input11}, {output01});
    224   // Phase 3, inputs and outputs
    225   model->identifyInputsAndOutputs(
    226     {input01, input11},
    227     {output01});
    228   assert(model->isValid());
    229 }
    230 
    231 inline bool is_ignored_2(int i) {
    232   static std::set<int> ignore = {};
    233   return ignore.find(i) != ignore.end();
    234 }
    235 
    236 void CreateModel_relaxed_2(Model *model) {
    237   OperandType type0(Type::TENSOR_FLOAT32, {3, 1, 2});
    238   OperandType type1(Type::TENSOR_FLOAT32, {2});
    239   // Phase 1, operands
    240   auto input01 = model->addOperand(&type0);
    241   auto input11 = model->addOperand(&type1);
    242   auto output01 = model->addOperand(&type0);
    243   // Phase 2, operations
    244   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input01, input11}, {output01});
    245   // Phase 3, inputs and outputs
    246   model->identifyInputsAndOutputs(
    247     {input01, input11},
    248     {output01});
    249   // Phase 4: set relaxed execution
    250   model->relaxComputationFloat32toFloat16(true);
    251   assert(model->isValid());
    252 }
    253 
    254 inline bool is_ignored_relaxed_2(int i) {
    255   static std::set<int> ignore = {};
    256   return ignore.find(i) != ignore.end();
    257 }
    258 
    259 void CreateModel_float16_2(Model *model) {
    260   OperandType type13(Type::TENSOR_FLOAT16, {2});
    261   OperandType type4(Type::TENSOR_FLOAT16, {3, 1, 2});
    262   // Phase 1, operands
    263   auto input01 = model->addOperand(&type4);
    264   auto input11 = model->addOperand(&type13);
    265   auto output01 = model->addOperand(&type4);
    266   // Phase 2, operations
    267   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input01, input11}, {output01});
    268   // Phase 3, inputs and outputs
    269   model->identifyInputsAndOutputs(
    270     {input01, input11},
    271     {output01});
    272   assert(model->isValid());
    273 }
    274 
    275 inline bool is_ignored_float16_2(int i) {
    276   static std::set<int> ignore = {};
    277   return ignore.find(i) != ignore.end();
    278 }
    279 
    280 void CreateModel_int32_2(Model *model) {
    281   OperandType type14(Type::TENSOR_INT32, {2});
    282   OperandType type5(Type::TENSOR_INT32, {3, 1, 2});
    283   // Phase 1, operands
    284   auto input01 = model->addOperand(&type5);
    285   auto input11 = model->addOperand(&type14);
    286   auto output01 = model->addOperand(&type5);
    287   // Phase 2, operations
    288   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input01, input11}, {output01});
    289   // Phase 3, inputs and outputs
    290   model->identifyInputsAndOutputs(
    291     {input01, input11},
    292     {output01});
    293   assert(model->isValid());
    294 }
    295 
    296 inline bool is_ignored_int32_2(int i) {
    297   static std::set<int> ignore = {};
    298   return ignore.find(i) != ignore.end();
    299 }
    300 
    301 void CreateModel_quant8_2(Model *model) {
    302   OperandType type15(Type::TENSOR_QUANT8_ASYMM, {2}, 1.0f, 100);
    303   OperandType type6(Type::TENSOR_QUANT8_ASYMM, {3, 1, 2}, 0.5f, 127);
    304   OperandType type8(Type::TENSOR_QUANT8_ASYMM, {3, 1, 2}, 2.0f, 80);
    305   // Phase 1, operands
    306   auto input01 = model->addOperand(&type6);
    307   auto input11 = model->addOperand(&type15);
    308   auto output01 = model->addOperand(&type8);
    309   // Phase 2, operations
    310   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input01, input11}, {output01});
    311   // Phase 3, inputs and outputs
    312   model->identifyInputsAndOutputs(
    313     {input01, input11},
    314     {output01});
    315   assert(model->isValid());
    316 }
    317 
    318 inline bool is_ignored_quant8_2(int i) {
    319   static std::set<int> ignore = {};
    320   return ignore.find(i) != ignore.end();
    321 }
    322 
    323 void CreateModel_dynamic_output_shape_2(Model *model) {
    324   OperandType type0(Type::TENSOR_FLOAT32, {3, 1, 2});
    325   OperandType type1(Type::TENSOR_FLOAT32, {2});
    326   OperandType type9(Type::TENSOR_FLOAT32, {0, 0, 0});
    327   // Phase 1, operands
    328   auto input01 = model->addOperand(&type0);
    329   auto input11 = model->addOperand(&type1);
    330   auto output01 = model->addOperand(&type9);
    331   // Phase 2, operations
    332   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input01, input11}, {output01});
    333   // Phase 3, inputs and outputs
    334   model->identifyInputsAndOutputs(
    335     {input01, input11},
    336     {output01});
    337   assert(model->isValid());
    338 }
    339 
    340 inline bool is_ignored_dynamic_output_shape_2(int i) {
    341   static std::set<int> ignore = {};
    342   return ignore.find(i) != ignore.end();
    343 }
    344 
    345 void CreateModel_dynamic_output_shape_relaxed_2(Model *model) {
    346   OperandType type0(Type::TENSOR_FLOAT32, {3, 1, 2});
    347   OperandType type1(Type::TENSOR_FLOAT32, {2});
    348   OperandType type9(Type::TENSOR_FLOAT32, {0, 0, 0});
    349   // Phase 1, operands
    350   auto input01 = model->addOperand(&type0);
    351   auto input11 = model->addOperand(&type1);
    352   auto output01 = model->addOperand(&type9);
    353   // Phase 2, operations
    354   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input01, input11}, {output01});
    355   // Phase 3, inputs and outputs
    356   model->identifyInputsAndOutputs(
    357     {input01, input11},
    358     {output01});
    359   // Phase 4: set relaxed execution
    360   model->relaxComputationFloat32toFloat16(true);
    361   assert(model->isValid());
    362 }
    363 
    364 inline bool is_ignored_dynamic_output_shape_relaxed_2(int i) {
    365   static std::set<int> ignore = {};
    366   return ignore.find(i) != ignore.end();
    367 }
    368 
    369 void CreateModel_dynamic_output_shape_float16_2(Model *model) {
    370   OperandType type10(Type::TENSOR_FLOAT16, {0, 0, 0});
    371   OperandType type13(Type::TENSOR_FLOAT16, {2});
    372   OperandType type4(Type::TENSOR_FLOAT16, {3, 1, 2});
    373   // Phase 1, operands
    374   auto input01 = model->addOperand(&type4);
    375   auto input11 = model->addOperand(&type13);
    376   auto output01 = model->addOperand(&type10);
    377   // Phase 2, operations
    378   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input01, input11}, {output01});
    379   // Phase 3, inputs and outputs
    380   model->identifyInputsAndOutputs(
    381     {input01, input11},
    382     {output01});
    383   assert(model->isValid());
    384 }
    385 
    386 inline bool is_ignored_dynamic_output_shape_float16_2(int i) {
    387   static std::set<int> ignore = {};
    388   return ignore.find(i) != ignore.end();
    389 }
    390 
    391 void CreateModel_dynamic_output_shape_int32_2(Model *model) {
    392   OperandType type11(Type::TENSOR_INT32, {0, 0, 0});
    393   OperandType type14(Type::TENSOR_INT32, {2});
    394   OperandType type5(Type::TENSOR_INT32, {3, 1, 2});
    395   // Phase 1, operands
    396   auto input01 = model->addOperand(&type5);
    397   auto input11 = model->addOperand(&type14);
    398   auto output01 = model->addOperand(&type11);
    399   // Phase 2, operations
    400   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input01, input11}, {output01});
    401   // Phase 3, inputs and outputs
    402   model->identifyInputsAndOutputs(
    403     {input01, input11},
    404     {output01});
    405   assert(model->isValid());
    406 }
    407 
    408 inline bool is_ignored_dynamic_output_shape_int32_2(int i) {
    409   static std::set<int> ignore = {};
    410   return ignore.find(i) != ignore.end();
    411 }
    412 
    413 void CreateModel_dynamic_output_shape_quant8_2(Model *model) {
    414   OperandType type12(Type::TENSOR_QUANT8_ASYMM, {0, 0, 0}, 2.0f, 80);
    415   OperandType type15(Type::TENSOR_QUANT8_ASYMM, {2}, 1.0f, 100);
    416   OperandType type6(Type::TENSOR_QUANT8_ASYMM, {3, 1, 2}, 0.5f, 127);
    417   // Phase 1, operands
    418   auto input01 = model->addOperand(&type6);
    419   auto input11 = model->addOperand(&type15);
    420   auto output01 = model->addOperand(&type12);
    421   // Phase 2, operations
    422   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input01, input11}, {output01});
    423   // Phase 3, inputs and outputs
    424   model->identifyInputsAndOutputs(
    425     {input01, input11},
    426     {output01});
    427   assert(model->isValid());
    428 }
    429 
    430 inline bool is_ignored_dynamic_output_shape_quant8_2(int i) {
    431   static std::set<int> ignore = {};
    432   return ignore.find(i) != ignore.end();
    433 }
    434 
    435 void CreateModel_3(Model *model) {
    436   OperandType type2(Type::TENSOR_QUANT8_ASYMM, {2}, 1.0f, 128);
    437   OperandType type3(Type::TENSOR_QUANT8_ASYMM, {2}, 0.5f, 128);
    438   // Phase 1, operands
    439   auto input02 = model->addOperand(&type2);
    440   auto input12 = model->addOperand(&type2);
    441   auto output02 = model->addOperand(&type3);
    442   // Phase 2, operations
    443   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input02, input12}, {output02});
    444   // Phase 3, inputs and outputs
    445   model->identifyInputsAndOutputs(
    446     {input02, input12},
    447     {output02});
    448   assert(model->isValid());
    449 }
    450 
    451 inline bool is_ignored_3(int i) {
    452   static std::set<int> ignore = {};
    453   return ignore.find(i) != ignore.end();
    454 }
    455 
    456 void CreateModel_dynamic_output_shape_3(Model *model) {
    457   OperandType type16(Type::TENSOR_QUANT8_ASYMM, {0}, 0.5f, 128);
    458   OperandType type2(Type::TENSOR_QUANT8_ASYMM, {2}, 1.0f, 128);
    459   // Phase 1, operands
    460   auto input02 = model->addOperand(&type2);
    461   auto input12 = model->addOperand(&type2);
    462   auto output02 = model->addOperand(&type16);
    463   // Phase 2, operations
    464   model->addOperation(ANEURALNETWORKS_MAXIMUM, {input02, input12}, {output02});
    465   // Phase 3, inputs and outputs
    466   model->identifyInputsAndOutputs(
    467     {input02, input12},
    468     {output02});
    469   assert(model->isValid());
    470 }
    471 
    472 inline bool is_ignored_dynamic_output_shape_3(int i) {
    473   static std::set<int> ignore = {};
    474   return ignore.find(i) != ignore.end();
    475 }
    476 
    477