class_docstr: Beta distribution, for bounded continuous actions (specification key: `beta`).
  
  Args:
      name (string): <span style="color:#0000C0"><b>internal use</b></span>.
      action_spec (specification): <span style="color:#0000C0"><b>internal use</b></span>.
      input_spec (specification): <span style="color:#0000C0"><b>internal use</b></span>.
code: def kl_divergence(self, *, parameters1, parameters2):
      alpha1, beta1, alpha_beta1, log_norm1 = parameters1.get(
          ("alpha", "beta", "alpha_beta", "log_norm")
      )
      alpha2, beta2, alpha_beta2, log_norm2 = parameters2.get(
          ("alpha", "beta", "alpha_beta", "log_norm")
      )
  
      digamma_alpha1 = tf_util.cast(
          x=tf.math.digamma(x=tf_util.float32(x=alpha1)), dtype="float"
      )
      digamma_beta1 = tf_util.cast(
          x=tf.math.digamma(x=tf_util.float32(x=beta1)), dtype="float"
      )
      digamma_alpha_beta1 = tf_util.cast(
          x=tf.math.digamma(x=tf_util.float32(x=alpha_beta1)),
          dtype="float",
      )
  
      return (
          log_norm2
          - log_norm1
          - digamma_beta1 * (beta2 - beta1)
          - digamma_alpha1 * (alpha2 - alpha1)
          + digamma_alpha_beta1 * (alpha_beta2 - alpha_beta1)
      )
  
file_path: tensorforce/tensorforce/core/distributions/beta.py
imports: import numpy
  import tensorflow
  from tensorforce import TensorforceError, util
  from tensorforce.core import layer_modules, TensorDict, TensorSpec, TensorsSpec, tf_function, tf_util
  from tensorforce.core.distributions import Distribution
label_desc: Use image node_id 9 for calling the Beta obj's underlying member method code with example usage: obj.kl_divergence() and returns: unknown