class_docstr: Utility class for quick manipulation of a connector pipeline.
docstr: Remove a single connector piece in this pipeline by its name or class.
  
  Args:
      name: The name of the connector piece to be removed from the pipeline.
docstr_tok: ["Remove","a","single","connector","piece","in","this","pipeline","by","its","name","or","class",".","Args",":","name",":","The","name","of","the","connector","piece","to","be","removed","from","the","pipeline","."]
code: def remove(self, name_or_class: Union[str, Type]):
      """Remove a single connector piece in this pipeline by its name or class.
  
      Args:
          name: The name of the connector piece to be removed from the pipeline.
      """
      idx = -1
      for i, c in enumerate(self.connectors):
          if c.__class__.__name__ == name_or_class:
              idx = i
              break
      if idx >= 0:
          del self.connectors[idx]
          self._fix_input_output_types()
          logger.info(
              f"Removed connector {name_or_class} from {self.__class__.__name__}."
          )
      else:
          logger.warning(
              f"Trying to remove a non-existent connector {name_or_class}."
          )
  
imports: from collections import defaultdict
  import logging
  from typing import Any, Dict, List, Optional, Type, Union
  from ray.rllib.connectors.connector_v2 import ConnectorV2
  from ray.rllib.core.rl_module.rl_module import RLModule
  from ray.rllib.utils.annotations import override
  from ray.rllib.utils.typing import EpisodeType
  from ray.util.annotations import PublicAPI
  from ray.util.timer import _Timer
label_desc: Use image node_id 3 for calling the ConnectorPipelineV2 obj's underlying member method code with example usage: obj.remove(name_or_class) without return types