1 // clang-format off 2 // Generated file (from: dequantize_relaxed.mod.py). Do not edit 3 // Create the model 4 Model createTestModel() { 5 const std::vector<Operand> operands = { 6 { 7 .type = OperandType::TENSOR_QUANT8_ASYMM, 8 .dimensions = {1, 2, 2, 1}, 9 .numberOfConsumers = 1, 10 .scale = 1.0f, 11 .zeroPoint = 0, 12 .lifetime = OperandLifeTime::MODEL_INPUT, 13 .location = {.poolIndex = 0, .offset = 0, .length = 0}, 14 }, 15 { 16 .type = OperandType::TENSOR_FLOAT32, 17 .dimensions = {1, 2, 2, 1}, 18 .numberOfConsumers = 0, 19 .scale = 0.0f, 20 .zeroPoint = 0, 21 .lifetime = OperandLifeTime::MODEL_OUTPUT, 22 .location = {.poolIndex = 0, .offset = 0, .length = 0}, 23 } 24 }; 25 26 const std::vector<Operation> operations = { 27 { 28 .type = OperationType::DEQUANTIZE, 29 .inputs = {0}, 30 .outputs = {1}, 31 } 32 }; 33 34 const std::vector<uint32_t> inputIndexes = {0}; 35 const std::vector<uint32_t> outputIndexes = {1}; 36 std::vector<uint8_t> operandValues = {}; 37 const std::vector<hidl_memory> pools = {}; 38 39 return { 40 .operands = operands, 41 .operations = operations, 42 .inputIndexes = inputIndexes, 43 .outputIndexes = outputIndexes, 44 .operandValues = operandValues, 45 .pools = pools, 46 .relaxComputationFloat32toFloat16 = true, 47 }; 48 } 49 50 inline bool is_ignored(int i) { 51 static std::set<int> ignore = {}; 52 return ignore.find(i) != ignore.end(); 53 } 54 55 // Create the model 56 Model createTestModel_dynamic_output_shape() { 57 const std::vector<Operand> operands = { 58 { 59 .type = OperandType::TENSOR_QUANT8_ASYMM, 60 .dimensions = {1, 2, 2, 1}, 61 .numberOfConsumers = 1, 62 .scale = 1.0f, 63 .zeroPoint = 0, 64 .lifetime = OperandLifeTime::MODEL_INPUT, 65 .location = {.poolIndex = 0, .offset = 0, .length = 0}, 66 }, 67 { 68 .type = OperandType::TENSOR_FLOAT32, 69 .dimensions = {0, 0, 0, 0}, 70 .numberOfConsumers = 0, 71 .scale = 0.0f, 72 .zeroPoint = 0, 73 .lifetime = OperandLifeTime::MODEL_OUTPUT, 74 .location = {.poolIndex = 0, .offset = 0, .length = 0}, 75 } 76 }; 77 78 const std::vector<Operation> operations = { 79 { 80 .type = OperationType::DEQUANTIZE, 81 .inputs = {0}, 82 .outputs = {1}, 83 } 84 }; 85 86 const std::vector<uint32_t> inputIndexes = {0}; 87 const std::vector<uint32_t> outputIndexes = {1}; 88 std::vector<uint8_t> operandValues = {}; 89 const std::vector<hidl_memory> pools = {}; 90 91 return { 92 .operands = operands, 93 .operations = operations, 94 .inputIndexes = inputIndexes, 95 .outputIndexes = outputIndexes, 96 .operandValues = operandValues, 97 .pools = pools, 98 .relaxComputationFloat32toFloat16 = true, 99 }; 100 } 101 102 inline bool is_ignored_dynamic_output_shape(int i) { 103 static std::set<int> ignore = {}; 104 return ignore.find(i) != ignore.end(); 105 } 106 107