class_docstr: Generates model graph, each node is created from single or multiple jit trace nodes.
docstr: Judge if a cpp node is a key function node.
  If so, we should not merge this node into the
  adjacent node.
code: def _is_key_func(self, node_cpp):
      """
      Judge if a cpp node is a key function node.
      If so, we should not merge this node into the
      adjacent node.
      """
      if node_cpp.kind().startswith("aten::"):
          # the nodes that start with 'aten' are key function
          # nodes
          return True
      if node_cpp.kind() in [LIST_UNPACK_KIND, TUPLE_UNPACK_KIND]:
          # We cannot merge the List/Tuple
          # Unpack func into other nodes, else it
          # may lead to a graph construction error.
          # The reason why we donnot take the construct node
          # also as a key node is that `cat` operation node need
          # the last(previous) visited node to infer the mask. If
          # we take the Construct node as the important node, the
          # predecessor of the `cat` node will always be a construct
          # node, which means we cannot infer the mask for the cat
          # operation.
          return True
      return False
  
imports: import logging
  import queue
  import re
  from collections import defaultdict
  import torch
  from torch.utils.tensorboard._pytorch_graph import NodePy, NodePyIO, NodePyOP, GraphPy
label_desc: Use image node_id 10 for calling the TorchModuleGraph obj's underlying member method code with example usage: obj._is_key_func(node_cpp) and returns: False, True, True