• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // clang-format off
2 // Generated file (from: depthwise_conv.mod.py). Do not edit
CreateModel(Model * model)3 void CreateModel(Model *model) {
4   OperandType type0(Type::INT32, {});
5   OperandType type1(Type::TENSOR_FLOAT32, {1, 8, 8, 3});
6   OperandType type2(Type::TENSOR_FLOAT32, {1, 1, 1, 3});
7   OperandType type3(Type::TENSOR_FLOAT32, {3});
8   // Phase 1, operands
9   auto op2 = model->addOperand(&type1);
10   auto op0 = model->addOperand(&type2);
11   auto op1 = model->addOperand(&type3);
12   auto b4 = model->addOperand(&type0);
13   auto b5 = model->addOperand(&type0);
14   auto b6 = model->addOperand(&type0);
15   auto b7 = model->addOperand(&type0);
16   auto b8 = model->addOperand(&type0);
17   auto op3 = model->addOperand(&type1);
18   // Phase 2, operations
19   static float op0_init[] = {-0.966213f, -0.467474f, -0.82203f};
20   model->setOperandValue(op0, op0_init, sizeof(float) * 3);
21   static float op1_init[] = {0.0f, 0.0f, 0.0f};
22   model->setOperandValue(op1, op1_init, sizeof(float) * 3);
23   static int32_t b4_init[] = {1};
24   model->setOperandValue(b4, b4_init, sizeof(int32_t) * 1);
25   static int32_t b5_init[] = {1};
26   model->setOperandValue(b5, b5_init, sizeof(int32_t) * 1);
27   static int32_t b6_init[] = {1};
28   model->setOperandValue(b6, b6_init, sizeof(int32_t) * 1);
29   static int32_t b7_init[] = {1};
30   model->setOperandValue(b7, b7_init, sizeof(int32_t) * 1);
31   static int32_t b8_init[] = {0};
32   model->setOperandValue(b8, b8_init, sizeof(int32_t) * 1);
33   model->addOperation(ANEURALNETWORKS_DEPTHWISE_CONV_2D, {op2, op0, op1, b4, b5, b6, b7, b8}, {op3});
34   // Phase 3, inputs and outputs
35   model->identifyInputsAndOutputs(
36     {op2},
37     {op3});
38   assert(model->isValid());
39 }
40 
is_ignored(int i)41 inline bool is_ignored(int i) {
42   static std::set<int> ignore = {};
43   return ignore.find(i) != ignore.end();
44 }
45 
CreateModel_dynamic_output_shape(Model * model)46 void CreateModel_dynamic_output_shape(Model *model) {
47   OperandType type0(Type::INT32, {});
48   OperandType type1(Type::TENSOR_FLOAT32, {1, 8, 8, 3});
49   OperandType type2(Type::TENSOR_FLOAT32, {1, 1, 1, 3});
50   OperandType type3(Type::TENSOR_FLOAT32, {3});
51   OperandType type4(Type::TENSOR_FLOAT32, {0, 0, 0, 0});
52   // Phase 1, operands
53   auto op2 = model->addOperand(&type1);
54   auto op0 = model->addOperand(&type2);
55   auto op1 = model->addOperand(&type3);
56   auto b4 = model->addOperand(&type0);
57   auto b5 = model->addOperand(&type0);
58   auto b6 = model->addOperand(&type0);
59   auto b7 = model->addOperand(&type0);
60   auto b8 = model->addOperand(&type0);
61   auto op3 = model->addOperand(&type4);
62   // Phase 2, operations
63   static float op0_init[] = {-0.966213f, -0.467474f, -0.82203f};
64   model->setOperandValue(op0, op0_init, sizeof(float) * 3);
65   static float op1_init[] = {0.0f, 0.0f, 0.0f};
66   model->setOperandValue(op1, op1_init, sizeof(float) * 3);
67   static int32_t b4_init[] = {1};
68   model->setOperandValue(b4, b4_init, sizeof(int32_t) * 1);
69   static int32_t b5_init[] = {1};
70   model->setOperandValue(b5, b5_init, sizeof(int32_t) * 1);
71   static int32_t b6_init[] = {1};
72   model->setOperandValue(b6, b6_init, sizeof(int32_t) * 1);
73   static int32_t b7_init[] = {1};
74   model->setOperandValue(b7, b7_init, sizeof(int32_t) * 1);
75   static int32_t b8_init[] = {0};
76   model->setOperandValue(b8, b8_init, sizeof(int32_t) * 1);
77   model->addOperation(ANEURALNETWORKS_DEPTHWISE_CONV_2D, {op2, op0, op1, b4, b5, b6, b7, b8}, {op3});
78   // Phase 3, inputs and outputs
79   model->identifyInputsAndOutputs(
80     {op2},
81     {op3});
82   assert(model->isValid());
83 }
84 
is_ignored_dynamic_output_shape(int i)85 inline bool is_ignored_dynamic_output_shape(int i) {
86   static std::set<int> ignore = {};
87   return ignore.find(i) != ignore.end();
88 }
89 
CreateModel_2(Model * model)90 void CreateModel_2(Model *model) {
91   OperandType type0(Type::INT32, {});
92   OperandType type1(Type::TENSOR_FLOAT32, {1, 8, 8, 3});
93   OperandType type2(Type::TENSOR_FLOAT32, {1, 1, 1, 3});
94   OperandType type3(Type::TENSOR_FLOAT32, {3});
95   // Phase 1, operands
96   auto op2 = model->addOperand(&type1);
97   auto op0 = model->addOperand(&type2);
98   auto op1 = model->addOperand(&type3);
99   auto b4 = model->addOperand(&type0);
100   auto b5 = model->addOperand(&type0);
101   auto b6 = model->addOperand(&type0);
102   auto b7 = model->addOperand(&type0);
103   auto b8 = model->addOperand(&type0);
104   auto op3 = model->addOperand(&type1);
105   // Phase 2, operations
106   static float op0_init[] = {-0.966213f, -0.467474f, -0.82203f};
107   model->setOperandValue(op0, op0_init, sizeof(float) * 3);
108   static float op1_init[] = {0.0f, 0.0f, 0.0f};
109   model->setOperandValue(op1, op1_init, sizeof(float) * 3);
110   static int32_t b4_init[] = {1};
111   model->setOperandValue(b4, b4_init, sizeof(int32_t) * 1);
112   static int32_t b5_init[] = {1};
113   model->setOperandValue(b5, b5_init, sizeof(int32_t) * 1);
114   static int32_t b6_init[] = {1};
115   model->setOperandValue(b6, b6_init, sizeof(int32_t) * 1);
116   static int32_t b7_init[] = {1};
117   model->setOperandValue(b7, b7_init, sizeof(int32_t) * 1);
118   static int32_t b8_init[] = {0};
119   model->setOperandValue(b8, b8_init, sizeof(int32_t) * 1);
120   model->addOperation(ANEURALNETWORKS_DEPTHWISE_CONV_2D, {op2, op0, op1, b4, b5, b6, b7, b8}, {op3});
121   // Phase 3, inputs and outputs
122   model->identifyInputsAndOutputs(
123     {op2},
124     {op3});
125   assert(model->isValid());
126 }
127 
is_ignored_2(int i)128 inline bool is_ignored_2(int i) {
129   static std::set<int> ignore = {};
130   return ignore.find(i) != ignore.end();
131 }
132 
CreateModel_dynamic_output_shape_2(Model * model)133 void CreateModel_dynamic_output_shape_2(Model *model) {
134   OperandType type0(Type::INT32, {});
135   OperandType type1(Type::TENSOR_FLOAT32, {1, 8, 8, 3});
136   OperandType type2(Type::TENSOR_FLOAT32, {1, 1, 1, 3});
137   OperandType type3(Type::TENSOR_FLOAT32, {3});
138   OperandType type4(Type::TENSOR_FLOAT32, {0, 0, 0, 0});
139   // Phase 1, operands
140   auto op2 = model->addOperand(&type1);
141   auto op0 = model->addOperand(&type2);
142   auto op1 = model->addOperand(&type3);
143   auto b4 = model->addOperand(&type0);
144   auto b5 = model->addOperand(&type0);
145   auto b6 = model->addOperand(&type0);
146   auto b7 = model->addOperand(&type0);
147   auto b8 = model->addOperand(&type0);
148   auto op3 = model->addOperand(&type4);
149   // Phase 2, operations
150   static float op0_init[] = {-0.966213f, -0.467474f, -0.82203f};
151   model->setOperandValue(op0, op0_init, sizeof(float) * 3);
152   static float op1_init[] = {0.0f, 0.0f, 0.0f};
153   model->setOperandValue(op1, op1_init, sizeof(float) * 3);
154   static int32_t b4_init[] = {1};
155   model->setOperandValue(b4, b4_init, sizeof(int32_t) * 1);
156   static int32_t b5_init[] = {1};
157   model->setOperandValue(b5, b5_init, sizeof(int32_t) * 1);
158   static int32_t b6_init[] = {1};
159   model->setOperandValue(b6, b6_init, sizeof(int32_t) * 1);
160   static int32_t b7_init[] = {1};
161   model->setOperandValue(b7, b7_init, sizeof(int32_t) * 1);
162   static int32_t b8_init[] = {0};
163   model->setOperandValue(b8, b8_init, sizeof(int32_t) * 1);
164   model->addOperation(ANEURALNETWORKS_DEPTHWISE_CONV_2D, {op2, op0, op1, b4, b5, b6, b7, b8}, {op3});
165   // Phase 3, inputs and outputs
166   model->identifyInputsAndOutputs(
167     {op2},
168     {op3});
169   assert(model->isValid());
170 }
171 
is_ignored_dynamic_output_shape_2(int i)172 inline bool is_ignored_dynamic_output_shape_2(int i) {
173   static std::set<int> ignore = {};
174   return ignore.find(i) != ignore.end();
175 }
176 
177