class_docstr: Basic Unit for evolution algorithm
code: def __init__(
      self,
      graph_cfg: Graph = None,
      info=None,
      result=None,
      indiv_id=None,
  ):
      self.config = graph_cfg
      self.result = result
      self.info = info
      self.indiv_id = indiv_id
      self.parent_id = None
      self.shared_ids = {
          layer.hash_id
          for layer in self.config.layers
          if layer.is_delete is False
      }
  
imports: import copy
  import json
  import logging
  import random
  import os
  from threading import Event, Lock, current_thread
  from nni.tuner import Tuner
  from nni.utils import extract_scalar_reward
  from graph import Graph, Layer, LayerType, Enum, graph_dumps, graph_loads, unique
label_desc: Use image node_id 1 to create a new Individual object from inherited base classes: object with example: obj = Individual(graph_cfg, info, result, indiv_id)