code: def gen_engine_interface_code(self, model_name):
      self.code_gen.gen_engine_factory(
          model_name,
          self.model_dir + "micro_engine_factory.h",
          self.model_dir + "micro_engine_factory.cc",
      )
      self.code_gen.gen_engine_c_interface(
          model_name,
          self.model_dir + "micro_engine_c_interface.h",
          self.model_dir + "micro_engine_c_interface.cc",
      )
  
imports: import os
  from os import path
  import shutil
  import numpy
  from micro.graph_builder import GraphBuilder
  from micro.mem_computer import MemComputer
  from micro.micro_codegen import MicroCodeGen
  from micro.micro_io_converter import MicroIoConverter
  from micro.micro_op_converter import MicroOpConverter
  from micro.micro_support_ops import OpResolver
  from micro.proto_to_bytes import ProtoConverter
  from micro.scratch_computer import ScratchComputer
  from py_proto import mace_pb2
  from utils import util
  from utils.config_parser import ModelKeys
  from utils.convert_util import data_type_to_np_dt
  from utils.util import mace_check
label_desc: Use image node_id 3 for calling the MicroConverter obj's underlying member method code with example usage: obj.gen_engine_interface_code(model_name) without return types