// clang-format off // Generated file (from: concat_quant8_3.mod.py). Do not edit void CreateModel(Model *model) { OperandType type0(Type::TENSOR_QUANT8_ASYMM, {400, 60}, 0.5f, 0); OperandType type1(Type::TENSOR_QUANT8_ASYMM, {400, 30}, 0.5f, 0); OperandType type2(Type::INT32, {}); OperandType type3(Type::TENSOR_QUANT8_ASYMM, {400, 90}, 0.5f, 0); // Phase 1, operands auto input1 = model->addOperand(&type0); auto input2 = model->addOperand(&type1); auto axis1 = model->addOperand(&type2); auto output = model->addOperand(&type3); // Phase 2, operations static int32_t axis1_init[] = {1}; model->setOperandValue(axis1, axis1_init, sizeof(int32_t) * 1); model->addOperation(ANEURALNETWORKS_CONCATENATION, {input1, input2, axis1}, {output}); // Phase 3, inputs and outputs model->identifyInputsAndOutputs( {input1, input2}, {output}); assert(model->isValid()); } inline bool is_ignored(int i) { static std::set ignore = {}; return ignore.find(i) != ignore.end(); } void CreateModel_dynamic_output_shape(Model *model) { OperandType type0(Type::TENSOR_QUANT8_ASYMM, {400, 60}, 0.5f, 0); OperandType type1(Type::TENSOR_QUANT8_ASYMM, {400, 30}, 0.5f, 0); OperandType type2(Type::INT32, {}); OperandType type4(Type::TENSOR_QUANT8_ASYMM, {0, 0}, 0.5f, 0); // Phase 1, operands auto input1 = model->addOperand(&type0); auto input2 = model->addOperand(&type1); auto axis1 = model->addOperand(&type2); auto output = model->addOperand(&type4); // Phase 2, operations static int32_t axis1_init[] = {1}; model->setOperandValue(axis1, axis1_init, sizeof(int32_t) * 1); model->addOperation(ANEURALNETWORKS_CONCATENATION, {input1, input2, axis1}, {output}); // Phase 3, inputs and outputs model->identifyInputsAndOutputs( {input1, input2}, {output}); assert(model->isValid()); } inline bool is_ignored_dynamic_output_shape(int i) { static std::set ignore = {}; return ignore.find(i) != ignore.end(); }