1 // clang-format off 2 // Generated file (from: squeeze_relaxed.mod.py). Do not edit 3 void CreateModel(Model *model) { 4 OperandType type0(Type::TENSOR_FLOAT32, {4, 1, 1, 2}); 5 OperandType type1(Type::TENSOR_INT32, {2}); 6 OperandType type2(Type::TENSOR_FLOAT32, {4, 2}); 7 // Phase 1, operands 8 auto input = model->addOperand(&type0); 9 auto squeezeDims = model->addOperand(&type1); 10 auto output = model->addOperand(&type2); 11 // Phase 2, operations 12 static int32_t squeezeDims_init[] = {1, 2}; 13 model->setOperandValue(squeezeDims, squeezeDims_init, sizeof(int32_t) * 2); 14 model->addOperation(ANEURALNETWORKS_SQUEEZE, {input, squeezeDims}, {output}); 15 // Phase 3, inputs and outputs 16 model->identifyInputsAndOutputs( 17 {input}, 18 {output}); 19 // Phase 4: set relaxed execution 20 model->relaxComputationFloat32toFloat16(true); 21 assert(model->isValid()); 22 } 23 24 inline bool is_ignored(int i) { 25 static std::set<int> ignore = {}; 26 return ignore.find(i) != ignore.end(); 27 } 28 29 void CreateModel_dynamic_output_shape(Model *model) { 30 OperandType type0(Type::TENSOR_FLOAT32, {4, 1, 1, 2}); 31 OperandType type1(Type::TENSOR_INT32, {2}); 32 OperandType type3(Type::TENSOR_FLOAT32, {0, 0}); 33 // Phase 1, operands 34 auto input = model->addOperand(&type0); 35 auto squeezeDims = model->addOperand(&type1); 36 auto output = model->addOperand(&type3); 37 // Phase 2, operations 38 static int32_t squeezeDims_init[] = {1, 2}; 39 model->setOperandValue(squeezeDims, squeezeDims_init, sizeof(int32_t) * 2); 40 model->addOperation(ANEURALNETWORKS_SQUEEZE, {input, squeezeDims}, {output}); 41 // Phase 3, inputs and outputs 42 model->identifyInputsAndOutputs( 43 {input}, 44 {output}); 45 // Phase 4: set relaxed execution 46 model->relaxComputationFloat32toFloat16(true); 47 assert(model->isValid()); 48 } 49 50 inline bool is_ignored_dynamic_output_shape(int i) { 51 static std::set<int> ignore = {}; 52 return ignore.find(i) != ignore.end(); 53 } 54 55