class_docstr: Connector base class.
  
  A connector is a step of transformation, of either envrionment data before they
  get to a policy, or policy output before it is sent back to the environment.
  
  Connectors may be training-aware, for example, behave slightly differently
  during training and inference.
  
  All connectors are required to be serializable and implement to_state().
class_docstr_tok: ["Connector","base","class",".","A","connector","is","a","step","of","transformation",",","of","either","envrionment","data","before","they","get","to","a","policy",",","or","policy","output","before","it","is","sent","back","to","the","environment",".","Connectors","may","be","training-aware",",","for","example",",","behave","slightly","differently","during","training","and","inference",".","All","connectors","are","required","to","be","serializable","and","implement","to_state","(",")","."]
code: def __init__(self, ctx: ConnectorContext):
      # Default is training mode.
      self._is_training = True
  
imports: import abc
  import logging
  from typing import TYPE_CHECKING, Any, Dict, List, Tuple, Union
  import gymnasium
  from ray.rllib.policy.view_requirement import ViewRequirement
  from ray.rllib.utils.typing import ActionConnectorDataType, AgentConnectorDataType, AlgorithmConfigDict, TensorType
  from ray.util.annotations import PublicAPI
label_desc: Use image node_id 1 to create a new Connector object from inherited base classes: abc with example: obj = Connector(ctx)