1// Generated file (from: fully_connected_float_4d_simple_relaxed.mod.py). Do not edit
2void CreateModel(Model *model) {
3  OperandType type4(Type::INT32, {});
4  OperandType type3(Type::TENSOR_FLOAT32, {2, 3});
5  OperandType type1(Type::TENSOR_FLOAT32, {3, 10});
6  OperandType type2(Type::TENSOR_FLOAT32, {3});
7  OperandType type0(Type::TENSOR_FLOAT32, {4, 1, 5, 1});
8  // Phase 1, operands
9  auto op1 = model->addOperand(&type0);
10  auto op2 = model->addOperand(&type1);
11  auto b0 = model->addOperand(&type2);
12  auto op3 = model->addOperand(&type3);
13  auto act = model->addOperand(&type4);
14  // Phase 2, operations
15  static float op2_init[] = {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f};
16  model->setOperandValue(op2, op2_init, sizeof(float) * 30);
17  static float b0_init[] = {1.0f, 2.0f, 3.0f};
18  model->setOperandValue(b0, b0_init, sizeof(float) * 3);
19  static int32_t act_init[] = {0};
20  model->setOperandValue(act, act_init, sizeof(int32_t) * 1);
21  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {op1, op2, b0, act}, {op3});
22  // Phase 3, inputs and outputs
23  model->identifyInputsAndOutputs(
24    {op1},
25    {op3});
26  // Phase 4: set relaxed execution
27  model->relaxComputationFloat32toFloat16(true);
28  assert(model->isValid());
29}
30
31bool is_ignored(int i) {
32  static std::set<int> ignore = {};
33  return ignore.find(i) != ignore.end();
34}
35