| 29 | } |
| 30 | |
| 31 | void ReadOpsFromModel(const ::tflite::Model* model, |
| 32 | std::vector<string>* builtin_ops, |
| 33 | std::vector<string>* custom_ops) { |
| 34 | if (!model) return; |
| 35 | auto opcodes = model->operator_codes(); |
| 36 | if (!opcodes) return; |
| 37 | for (const auto* opcode : *opcodes) { |
| 38 | if (opcode->builtin_code() != ::tflite::BuiltinOperator_CUSTOM) { |
| 39 | builtin_ops->push_back( |
| 40 | tflite::EnumNameBuiltinOperator(opcode->builtin_code())); |
| 41 | } else { |
| 42 | custom_ops->push_back(opcode->custom_code()->c_str()); |
| 43 | } |
| 44 | } |
| 45 | } |
| 46 | |
| 47 | } // namespace tflite |