class_docstr: A PPO Agent.
class_docstr_tok: ["A","PPO","Agent","."]
code: def _kl_divergence(
      self,
      time_steps,
      action_distribution_parameters,
      current_policy_distribution,
  ):
      outer_dims = list(
          range(
              nest_utils.get_outer_rank(time_steps, self.time_step_spec)
          )
      )
  
      old_actions_distribution = ppo_utils.distribution_from_spec(
          self._action_distribution_spec,
          action_distribution_parameters,
          legacy_distribution_network=isinstance(
              self._actor_net, network.DistributionNetwork
          ),
      )
  
      kl_divergence = ppo_utils.nested_kl_divergence(
          old_actions_distribution,
          current_policy_distribution,
          outer_dims=outer_dims,
      )
      return kl_divergence
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  from typing import Optional, Text, Tuple
  from absl import logging
  import gin
  from six.moves import range
  from six.moves import zip
  import tensorflow
  from tf_agents.agents import data_converter
  from tf_agents.agents import tf_agent
  from tf_agents.agents.ppo import ppo_policy
  from tf_agents.agents.ppo import ppo_utils
  from tf_agents.networks import network
  from tf_agents.policies import greedy_policy
  from tf_agents.specs import tensor_spec
  from tf_agents.trajectories import time_step
  from tf_agents.trajectories import trajectory
  from tf_agents.typing import types
  from tf_agents.utils import common
  from tf_agents.utils import eager_utils
  from tf_agents.utils import nest_utils
  from tf_agents.utils import object_identity
  from tf_agents.utils import tensor_normalizer
  from tf_agents.utils import value_ops
label_desc: Use image node_id 18 for calling the PPOAgent obj's underlying member method code with example usage: obj._kl_divergence(time_steps, action_distribution_parameters, current_policy_distribution) and returns: kl_divergence