13c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler// Generated file (from: mean_float_2_relaxed.mod.py). Do not edit 23c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butlervoid CreateModel(Model *model) { 33c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler OperandType type2(Type::INT32, {}); 43c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler OperandType type3(Type::TENSOR_FLOAT32, {1, 3, 1}); 53c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler OperandType type0(Type::TENSOR_FLOAT32, {4, 3, 2}); 63c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler OperandType type1(Type::TENSOR_INT32, {2}); 73c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler // Phase 1, operands 83c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler auto input = model->addOperand(&type0); 93c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler auto axis = model->addOperand(&type1); 103c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler auto keepDims = model->addOperand(&type2); 113c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler auto output = model->addOperand(&type3); 123c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler // Phase 2, operations 133c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler static int32_t axis_init[] = {0, 2}; 143c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler model->setOperandValue(axis, axis_init, sizeof(int32_t) * 2); 153c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler static int32_t keepDims_init[] = {1}; 163c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler model->setOperandValue(keepDims, keepDims_init, sizeof(int32_t) * 1); 173c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler model->addOperation(ANEURALNETWORKS_MEAN, {input, axis, keepDims}, {output}); 183c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler // Phase 3, inputs and outputs 193c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler model->identifyInputsAndOutputs( 203c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler {input}, 213c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler {output}); 223c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler // Phase 4: set relaxed execution 233c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler model->relaxComputationFloat32toFloat16(true); 243c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler assert(model->isValid()); 253c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler} 263c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler 273c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butlerbool is_ignored(int i) { 283c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler static std::set<int> ignore = {}; 293c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler return ignore.find(i) != ignore.end(); 303c2272e1cf69ef14d1a5dce34541bfd492272f69Michael Butler} 31