class_docstr: Manage shuffle execution for ray by resolve dependencies between mappers outputs and reducers inputs based on
  mapper and reducer index.
docstr: Get the reducer inputs ObjectRefs output by mappers.
  
  Parameters
  ----------
  subtask : Subtask
      A reducer subtask.
  Returns
  -------
  input_refs : List["ray.ObjectRef"]
      The reducer inputs ObjectRefs output by mappers.
docstr_tok: ["Get","the","reducer","inputs","ObjectRefs","output","by","mappers",".","Parameters","--","--","--","--","--","subtask",":","Subtask","A","reducer","subtask",".","Returns","--","--","--","-","input_refs",":","List","[","``","ray.ObjectRef","''","]","The","reducer","inputs","ObjectRefs","output","by","mappers","."]
code: def get_reducer_input_refs(
      self, subtask: Subtask
  ) -> List["ray.ObjectRef"]:
      """
      Get the reducer inputs ObjectRefs output by mappers.
  
      Parameters
      ----------
      subtask : Subtask
          A reducer subtask.
      Returns
      -------
      input_refs : List["ray.ObjectRef"]
          The reducer inputs ObjectRefs output by mappers.
      """
      shuffle_index, reducer_ordinal = self._reducer_indices[subtask]
      return self._mapper_output_refs[shuffle_index][:, reducer_ordinal]
  
file_path: mars/mars/services/task/execution/ray/shuffle.py
imports: import numpy
  from typing import List, Iterable
  from .....core.operand import MapReduceOperand, OperandStage
  from .....utils import lazy_import
  from ....subtask import Subtask, SubtaskGraph
label_desc: Use image node_id 5 for calling the ShuffleManager obj's underlying member method code with example usage: obj.get_reducer_input_refs(subtask) and returns: self