docstr: BC forward pass during exploration.
  
  Besides the action distribution this method also returns a possible
  state in case a stateful encoder is used.
  
  Note that for BC `_forward_train`, `_forward_exploration`, and
  `_forward_inference` return the same items and therefore only
  `_forward_exploration` is implemented and is used by the two other
  forward methods.
docstr_tok: ["BC","forward","pass","during","exploration",".","Besides","the","action","distribution","this","method","also","returns","a","possible","state","in","case","a","stateful","encoder","is","used",".","Note","that","for","BC","`","_forward_train","`",",","`","_forward_exploration","`",",","and","`","_forward_inference","`","return","the","same","items","and","therefore","only","`","_forward_exploration","`","is","implemented","and","is","used","by","the","two","other","forward","methods","."]
code: def _forward_exploration(
      self, batch: NestedDict, **kwargs
  ) -> Dict[str, Any]:
      """BC forward pass during exploration.
  
      Besides the action distribution this method also returns a possible
      state in case a stateful encoder is used.
  
      Note that for BC `_forward_train`, `_forward_exploration`, and
      `_forward_inference` return the same items and therefore only
      `_forward_exploration` is implemented and is used by the two other
      forward methods.
      """
      output = {}
  
      # State encodings.
      encoder_outs = self.encoder(batch)
      if STATE_OUT in encoder_outs:
          output[STATE_OUT] = encoder_outs[STATE_OUT]
  
      # Actions.
      action_logits = self.pi(encoder_outs[ENCODER_OUT])
      output[SampleBatch.ACTION_DIST_INPUTS] = action_logits
  
      return output
  
imports: import abc
  from typing import Any, Dict, List, Type, Union
  from ray.rllib.core.models.base import ENCODER_OUT, STATE_OUT
  from ray.rllib.core.models.specs.typing import SpecType
  from ray.rllib.core.rl_module.rl_module import RLModule
  from ray.rllib.models.distributions import Distribution
  from ray.rllib.policy.sample_batch import SampleBatch
  from ray.rllib.utils.annotations import ExperimentalAPI, override
  from ray.rllib.utils.nested_dict import NestedDict
  from ray.rllib.utils.typing import TensorType
label_desc: Use image node_id 10 for calling the BCRLModule obj's underlying member method code with example usage: obj._forward_exploration(batch) and returns: output