class_docstr: The ModelGraph represents the network that is being processed by hls4ml.
  
  Args:
      config (dict):  The configuration dictionary
      layer_list (list(dict)):  The list contains a dictionary for each input layer
      inputs (list, optional):  The inputs to the model. If None, determined from layer_list
      outputs (list, optional):  The outputs to the model. If None, determined from layer_list
code: def _compile(self):
      lib_name = self.config.backend.compile(self)
      if self._top_function_lib is not None:
          if platform.system() == "Linux":
              libdl_libs = ["libdl.so", "libdl.so.2"]
              for libdl in libdl_libs:
                  try:
                      dlclose_func = ctypes.CDLL(libdl).dlclose
                      break
                  except Exception:
                      continue
          elif platform.system() == "Darwin":
              dlclose_func = ctypes.CDLL("libc.dylib").dlclose
  
          dlclose_func.argtypes = [ctypes.c_void_p]
          dlclose_func.restype = ctypes.c_int
          dlclose_func(self._top_function_lib._handle)
      self._top_function_lib = ctypes.cdll.LoadLibrary(lib_name)
  
imports: import ctypes
  import os
  import platform
  from collections import OrderedDict
  import numpy
  import numpy.ctypeslib
  from hls4ml.backends import get_backend
  from hls4ml.model.flow import get_flow
  from hls4ml.model.layers import layer_map
  from hls4ml.model.optimizer import get_available_passes, optimize_model
label_desc: Use image node_id 20 for calling the ModelGraph obj's underlying member method code with example usage: obj._compile() without return types