class_docstr: coremltools internal representation of a torch IR node.
  Can construct itself from a provided torchIR node or manually constructed with
  args for testing.
  
  See InternalTorchIRGraph for the motivation behind this structure.
code: def from_edgeir_node(cls, node):
      def get_arguments(alist):
          args = []
          for i in alist:
              if isinstance(i, Node):
                  args.append(i.name)
              elif isinstance(
                  i, torch.fx.immutable_collections.immutable_list
              ):
                  args.append(get_arguments(i))
              elif isinstance(i, (int, float)):
                  args.append(i)
              elif i is None:
                  args.append(None)
              else:
                  raise AssertionError(
                      f"Unhandled type of the node: {type(i)}"
                  )
          return tuple(args)
  
      inputs = get_arguments(node.args)
      outputs = [
          node.name
      ]  # TODO: rdar://115846125 ([Executorch] Handle Models/Layers with Multiple outputs)
  
      try:
          kind = node.target.name()
      except:
          if callable(node.target):
              kind = node.target.__name__
          else:
              kind = str(node.target)
  
      namespace = kind.split("::")[0].lower()
      if namespace in _DEFAULT_OP_NAMESPACES:
          # We conventionally skip the aten/prim namespaces in our naming.
          kind = kind.split("::")[-1].lower()
      else:
          kind = kind.lower()
  
      name = node.name
      return cls(
          name=name,
          kind=kind,
          inputs=inputs,
          outputs=outputs,
          parent=None,
          attr=None,
          blocks=None,
      )
  
imports: from collections import OrderedDict
  import torch
  from torch.fx.node import Node
  from coremltools import _logger
  from .edgeir_utils import extract_inputs_from_edge_program
  from .torchscript_utils import _expand_and_optimize_ir
label_desc: Use image node_id 3 for calling the InternalTorchIRNode obj's underlying member method code with example usage: obj.from_edgeir_node(cls, node) and returns: cls, tuple