code: def _check_deduplicate_by_node(self, root_node, node_to_check):
      if root_node == node_to_check:
          return True
      if (
          root_node.operation.type == "_inputs"
          and node_to_check.operation.type == "_inputs"
          and isinstance(root_node, OriginNode)
          and isinstance(node_to_check, OriginNode)
      ):
          if self._check_supported_evaluator(
              root_node.original_graph.model.evaluator
          ):
              return False
          if (
              root_node.original_graph.model.evaluator
              == node_to_check.original_graph.model.evaluator
          ):
              return True
          else:
              return False
      else:
          return False
  
file_path: nni/nni/nas/execution/cgo/logical_optimizer/opt_dedup_input.py
imports: from typing import List, Dict, Tuple, cast
  from nni.mutable.utils import uid
  from nni.common.device import GPUDevice
  from nni.nas.space import GraphModelSpace, Graph, Node
  from .interface import AbstractOptimizer
  from .logical_plan import AbstractLogicalNode, LogicalGraph, LogicalPlan, OriginNode
label_desc: Use image node_id 3 for calling the DedupInputOptimizer obj's underlying member method code with example usage: obj._check_deduplicate_by_node(root_node, node_to_check) and returns: True, False, False, True, False