class_docstr: Returns boltzmann samples of a given policy.
  
  The wrapped policy must expose a distribution parameterized by logits.
class_docstr_tok: ["Returns","boltzmann","samples","of","a","given","policy",".","The","wrapped","policy","must","expose","a","distribution","parameterized","by","logits","."]
code: def _distribution(self, time_step, policy_state):
      distribution_step = self._wrapped_policy.distribution(
          time_step, policy_state
      )
      if self._temperature is None:
          return distribution_step
  
      action_dist = tf.nest.map_structure(
          self._apply_temperature, distribution_step.action
      )
      return distribution_step._replace(action=action_dist)
  
file_path: agents/tf_agents/policies/boltzmann_policy.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from typing import Optional, Text
  import gin
  import tensorflow
  from tf_agents.policies import tf_policy
  from tf_agents.typing import types
label_desc: Use image node_id 5 for calling the BoltzmannPolicy obj's underlying member method code with example usage: obj._distribution(time_step, policy_state) and returns: distribution_step, distribution_step