class_docstr: Manage shuffle execution for ray by resolve dependencies between mappers outputs and reducers inputs based on
  mapper and reducer index.
docstr: Set the object refs to None by subtask.
docstr_tok: ["Set","the","object","refs","to","None","by","subtask","."]
code: def remove_object_refs(self, subtask: Subtask):
      """
      Set the object refs to None by subtask.
      """
      index = self._mapper_indices.get(subtask)
      if index is not None:
          shuffle_index, mapper_index = index
          self._mapper_output_refs[shuffle_index][mapper_index].fill(
              None
          )
          return
      index = self._reducer_indices.get(subtask)
      if index is not None:
          shuffle_index, reducer_ordinal = index
          self._mapper_output_refs[shuffle_index][
              :, reducer_ordinal
          ].fill(None)
          return
      raise ValueError(
          f"The {subtask} should be a mapper or a reducer."
      )
  
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 9 for calling the ShuffleManager obj's underlying member method code with example usage: obj.remove_object_refs(subtask) without return types