parameters: (self, device_name, node)
docstring: Process a node from the partition graphs.
  
      Args:
        device_name: (str) device name.
        node: (NodeDef) A partition-graph node to be processed.
  
      Raises:
        ValueError: If duplicate node names are encountered.
docstring_summary: Process a node from the partition graphs.
docstring_tokens: Process a node from the partition graphs .
function: def _process_partition_graph_node(self, device_name, node):
      """Process a node from the partition graphs.
  
      Args:
        device_name: (str) device name.
        node: (NodeDef) A partition-graph node to be processed.
  
      Raises:
        ValueError: If duplicate node names are encountered.
      """
  
      if is_debug_node(node.name):
        # This is a debug node. Parse the node name and retrieve the
        # information about debug watches on tensors. But do not include
        # the node in the graph.
        (watched_node_name, watched_output_slot, _,
         debug_op) = parse_debug_node_name(node.name)
  
        self._debug_watches[device_name][watched_node_name][
            watched_output_slot].add(debug_op)
  
        return
  
      if node.name in self._node_inputs[device_name]:
        raise ValueError("Duplicate node name on device %s: '%s'" %
                         (device_name, node.name))
  
      self._node_attributes[device_name][node.name] = node.attr
  
      self._node_inputs[device_name][node.name] = []
      self._node_ctrl_inputs[device_name][node.name] = []
      self._node_recipients[device_name][node.name] = []
      self._node_ctrl_recipients[device_name][node.name] = []
  
      if node.name not in self._node_devices:
        self._node_devices[node.name] = set()
      self._node_devices[node.name].add(node.device)
      self._node_op_types[device_name][node.name] = node.op
      self._ref_args[device_name].extend(self._get_ref_args(node))
  
      for inp in node.input:
        if is_copy_node(inp) and (node.op == "_Send" or node.op == "_Retval"):
          self._copy_send_nodes[device_name].append(node.name)
  
        if inp.startswith("^"):
          cinp = inp[1:]
          self._node_ctrl_inputs[device_name][node.name].append(cinp)
        else:
          self._node_inputs[device_name][node.name].append(inp)
function_tokens: def _process_partition_graph_node ( self , device_name , node ) : if is_debug_node ( node . name ) : # This is a debug node. Parse the node name and retrieve the # information about debug watches on tensors. But do not include # the node in the graph. ( watched_node_name , watched_output_slot , _ , debug_op ) = parse_debug_node_name ( node . name ) self . _debug_watches [ device_name ] [ watched_node_name ] [ watched_output_slot ] . add ( debug_op ) return if node . name in self . _node_inputs [ device_name ] : raise ValueError ( "Duplicate node name on device %s: '%s'" % ( device_name , node . name ) ) self . _node_attributes [ device_name ] [ node . name ] = node . attr self . _node_inputs [ device_name ] [ node . name ] = [ ] self . _node_ctrl_inputs [ device_name ] [ node . name ] = [ ] self . _node_recipients [ device_name ] [ node . name ] = [ ] self . _node_ctrl_recipients [ device_name ] [ node . name ] = [ ] if node . name not in self . _node_devices : self . _node_devices [ node . name ] = set ( ) self . _node_devices [ node . name ] . add ( node . device ) self . _node_op_types [ device_name ] [ node . name ] = node . op self . _ref_args [ device_name ] . extend ( self . _get_ref_args ( node ) ) for inp in node . input : if is_copy_node ( inp ) and ( node . op == "_Send" or node . op == "_Retval" ) : self . _copy_send_nodes [ device_name ] . append ( node . name ) if inp . startswith ( "^" ) : cinp = inp [ 1 : ] self . _node_ctrl_inputs [ device_name ] [ node . name ] . append ( cinp ) else : self . _node_inputs [ device_name ] [ node . name ] . append ( inp )