1// Generated file (from: max_pool_float_3_relaxed.mod.py). Do not edit
2void CreateModel(Model *model) {
3  OperandType type1(Type::INT32, {});
4  OperandType type2(Type::TENSOR_FLOAT32, {5, 2, 3, 3});
5  OperandType type0(Type::TENSOR_FLOAT32, {5, 50, 70, 3});
6  // Phase 1, operands
7  auto i0 = model->addOperand(&type0);
8  auto stride = model->addOperand(&type1);
9  auto filter = model->addOperand(&type1);
10  auto padding = model->addOperand(&type1);
11  auto relu6_activation = model->addOperand(&type1);
12  auto output = model->addOperand(&type2);
13  // Phase 2, operations
14  static int32_t stride_init[] = {20};
15  model->setOperandValue(stride, stride_init, sizeof(int32_t) * 1);
16  static int32_t filter_init[] = {20};
17  model->setOperandValue(filter, filter_init, sizeof(int32_t) * 1);
18  static int32_t padding_init[] = {0};
19  model->setOperandValue(padding, padding_init, sizeof(int32_t) * 1);
20  static int32_t relu6_activation_init[] = {3};
21  model->setOperandValue(relu6_activation, relu6_activation_init, sizeof(int32_t) * 1);
22  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {i0, padding, padding, padding, padding, stride, stride, filter, filter, relu6_activation}, {output});
23  // Phase 3, inputs and outputs
24  model->identifyInputsAndOutputs(
25    {i0},
26    {output});
27  // Phase 4: set relaxed execution
28  model->relaxComputationFloat32toFloat16(true);
29  assert(model->isValid());
30}
31
32bool is_ignored(int i) {
33  static std::set<int> ignore = {};
34  return ignore.find(i) != ignore.end();
35}
36