class_docstr: Special case of StochasticSampling w/ Categorical and temperature param.
  
  Returns a stochastic sample from a Categorical parameterized by the model
  output divided by the temperature. Returns the argmax iff explore=False.
docstr: Initializes a SoftQ Exploration object.
  
  Args:
      action_space: The gym action space used by the environment.
      temperature: The temperature to divide model outputs by
          before creating the Categorical distribution to sample from.
      framework: One of None, "tf", "torch".
code: def __init__(
      self,
      action_space: Space,
      *,
      framework: Optional[str],
      temperature: float = 1.0,
      **kwargs,
  ):
      """Initializes a SoftQ Exploration object.
  
      Args:
          action_space: The gym action space used by the environment.
          temperature: The temperature to divide model outputs by
              before creating the Categorical distribution to sample from.
          framework: One of None, "tf", "torch".
      """
      assert isinstance(action_space, (Discrete, MultiDiscrete))
      super().__init__(action_space, framework=framework, **kwargs)
      self.temperature = temperature
  
file_path: ray/rllib/utils/exploration/soft_q.py
imports: from gymnasium.spaces import Discrete, MultiDiscrete, Space
  from typing import Union, Optional
  from ray.rllib.models.action_dist import ActionDistribution
  from ray.rllib.models.tf.tf_action_dist import Categorical
  from ray.rllib.models.torch.torch_action_dist import TorchCategorical
  from ray.rllib.utils.annotations import override, PublicAPI
  from ray.rllib.utils.exploration.stochastic_sampling import StochasticSampling
  from ray.rllib.utils.framework import TensorType
label_desc: Use image node_id 1 to create a new SoftQ object from inherited base classes: StochasticSampling with example: obj = SoftQ(action_space)