class_docstr: The supergraph structure in GripNet. Each supergraph is a directed acyclic graph (DAG) containing
  supervertices and superedges.
  
  Args:
      supervertex_list (list[SuperVertex]): a list of supervertices.
      superedge_list (list[SuperEdge]): a list of superedges.
      supervertex_para_setting (dict[str, SuperVertexParaSetting], Optional): the parameter settings for each supervertex.
class_docstr_tok: ["The","supergraph","structure","in","GripNet",".","Each","supergraph","is","a","directed","acyclic","graph","(","DAG",")","containing","supervertices","and","superedges",".","Args",":","supervertex_list","(","list","[","SuperVertex","]",")",":","a","list","of","supervertices",".","superedge_list","(","list","[","SuperEdge","]",")",":","a","list","of","superedges",".","supervertex_para_setting","(","dict","[","str",",","SuperVertexParaSetting","]",",","Optional",")",":","the","parameter","settings","for","each","supervertex","."]
code: def __init__(
      self,
      supervertex_list: List[SuperVertex],
      superedge_list: List[SuperEdge],
      supervertex_setting_dict: Optional[
          Dict[str, SuperVertexParaSetting]
      ] = None,
  ) -> None:
      self.supervertex_dict = {
          supervertex.name: supervertex
          for supervertex in supervertex_list
      }
      self.superedge_dict = {
          superedge.direction: superedge for superedge in superedge_list
      }
      self.supervertex_setting_dict = supervertex_setting_dict
  
      self.__process_supergraph__()
      self.__update_supervertex__()
  
imports: import logging
  from typing import Dict, List, Optional
  import networkx
  import torch
label_desc: Use image node_id 1 to create a new SuperGraph object from inherited base classes: object with example: obj = SuperGraph(supervertex_list, superedge_list, supervertex_setting_dict)