class_docstr: Utility class for quick manipulation of a connector pipeline.
docstr: In a pipeline, we simply call each of our connector pieces after each other.
  
  Each connector piece receives as input the output of the previous connector
  piece in the pipeline.
docstr_tok: ["In","a","pipeline",",","we","simply","call","each","of","our","connector","pieces","after","each","other",".","Each","connector","piece","receives","as","input","the","output","of","the","previous","connector","piece","in","the","pipeline","."]
code: def __call__(
      self,
      rl_module: RLModule,
      data: Any,
      episodes: List[EpisodeType],
      explore: Optional[bool] = None,
      shared_data: Optional[dict] = None,
      **kwargs,
  ) -> Any:
      """In a pipeline, we simply call each of our connector pieces after each other.
  
      Each connector piece receives as input the output of the previous connector
      piece in the pipeline.
      """
      # Loop through connector pieces and call each one with the output of the
      # previous one. Thereby, time each connector piece's call.
      ret = data
      for connector in self.connectors:
          timer = self.timers[str(connector)]
          with timer:
              ret = connector(
                  rl_module=rl_module,
                  data=ret,
                  episodes=episodes,
                  explore=explore,
                  shared_data=shared_data,
                  **kwargs,
              )
      return ret
  
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 2 for calling the ConnectorPipelineV2 obj's underlying member method code with example usage: obj.__call__(rl_module, data, episodes, explore, shared_data) and returns: ret