code: def _kl_beta_beta(dist1, dist2):
      dist1_apb = dist1._a_plus_b
      dist2_apb = dist2._a_plus_b
      return (
          -_lbeta(dist1.a, dist1.b)
          + _lbeta(dist2.a, dist2.b)
          + (dist1.a - dist2.a) * digamma.digamma(dist1.a)
          + (dist1.b - dist2.b) * digamma.digamma(dist1.b)
          + (dist2_apb - dist1_apb) * digamma.digamma(dist1_apb)
      )
  
imports: import chainer
  from chainer import backend
  from chainer import distribution
  from chainer.functions.array import where
  from chainer.functions.math import digamma
  from chainer.functions.math import exponential
  from chainer.functions.math import lgamma
  from chainer import utils
  from chainer.utils import cache
label_desc: Use image node_id 2 for calling a global function with example usage: _kl_beta_beta(dist1, dist2) and returns: unknown