Home | History | Annotate | Download | only in models
      1 // clang-format off
      2 // Generated file (from: svdf2_relaxed.mod.py). Do not edit
      3 void CreateModel(Model *model) {
      4   OperandType type0(Type::TENSOR_FLOAT32, {2, 3});
      5   OperandType type1(Type::TENSOR_FLOAT32, {8, 3});
      6   OperandType type2(Type::TENSOR_FLOAT32, {8, 10});
      7   OperandType type3(Type::TENSOR_FLOAT32, {4});
      8   OperandType type4(Type::TENSOR_FLOAT32, {2, 80});
      9   OperandType type5(Type::INT32, {});
     10   OperandType type6(Type::TENSOR_FLOAT32, {2, 4});
     11   // Phase 1, operands
     12   auto input = model->addOperand(&type0);
     13   auto weights_feature = model->addOperand(&type1);
     14   auto weights_time = model->addOperand(&type2);
     15   auto bias = model->addOperand(&type3);
     16   auto state_in = model->addOperand(&type4);
     17   auto rank_param = model->addOperand(&type5);
     18   auto activation_param = model->addOperand(&type5);
     19   auto state_out = model->addOperand(&type4);
     20   auto output = model->addOperand(&type6);
     21   // Phase 2, operations
     22   static int32_t rank_param_init[] = {2};
     23   model->setOperandValue(rank_param, rank_param_init, sizeof(int32_t) * 1);
     24   static int32_t activation_param_init[] = {0};
     25   model->setOperandValue(activation_param, activation_param_init, sizeof(int32_t) * 1);
     26   model->addOperation(ANEURALNETWORKS_SVDF, {input, weights_feature, weights_time, bias, state_in, rank_param, activation_param}, {state_out, output});
     27   // Phase 3, inputs and outputs
     28   model->identifyInputsAndOutputs(
     29     {input, weights_feature, weights_time, bias, state_in},
     30     {state_out, output});
     31   // Phase 4: set relaxed execution
     32   model->relaxComputationFloat32toFloat16(true);
     33   assert(model->isValid());
     34 }
     35 
     36 inline bool is_ignored(int i) {
     37   static std::set<int> ignore = {0};
     38   return ignore.find(i) != ignore.end();
     39 }
     40 
     41 void CreateModel_dynamic_output_shape(Model *model) {
     42   OperandType type0(Type::TENSOR_FLOAT32, {2, 3});
     43   OperandType type1(Type::TENSOR_FLOAT32, {8, 3});
     44   OperandType type2(Type::TENSOR_FLOAT32, {8, 10});
     45   OperandType type3(Type::TENSOR_FLOAT32, {4});
     46   OperandType type4(Type::TENSOR_FLOAT32, {2, 80});
     47   OperandType type5(Type::INT32, {});
     48   OperandType type7(Type::TENSOR_FLOAT32, {0, 0});
     49   // Phase 1, operands
     50   auto input = model->addOperand(&type0);
     51   auto weights_feature = model->addOperand(&type1);
     52   auto weights_time = model->addOperand(&type2);
     53   auto bias = model->addOperand(&type3);
     54   auto state_in = model->addOperand(&type4);
     55   auto rank_param = model->addOperand(&type5);
     56   auto activation_param = model->addOperand(&type5);
     57   auto state_out = model->addOperand(&type7);
     58   auto output = model->addOperand(&type7);
     59   // Phase 2, operations
     60   static int32_t rank_param_init[] = {2};
     61   model->setOperandValue(rank_param, rank_param_init, sizeof(int32_t) * 1);
     62   static int32_t activation_param_init[] = {0};
     63   model->setOperandValue(activation_param, activation_param_init, sizeof(int32_t) * 1);
     64   model->addOperation(ANEURALNETWORKS_SVDF, {input, weights_feature, weights_time, bias, state_in, rank_param, activation_param}, {state_out, output});
     65   // Phase 3, inputs and outputs
     66   model->identifyInputsAndOutputs(
     67     {input, weights_feature, weights_time, bias, state_in},
     68     {state_out, output});
     69   // Phase 4: set relaxed execution
     70   model->relaxComputationFloat32toFloat16(true);
     71   assert(model->isValid());
     72 }
     73 
     74 inline bool is_ignored_dynamic_output_shape(int i) {
     75   static std::set<int> ignore = {0};
     76   return ignore.find(i) != ignore.end();
     77 }
     78 
     79