code: def testBetaFromMeanConcentrationTapeSafe(self):
      concentration1 = np.float64(1.0)
      concentration0 = np.float64(3.0)
      x = np.array([0.4, 0.05, 0.7], dtype=np.float64)
  
      mean = tf.convert_to_tensor(
          sp_stats.beta.mean(a=concentration1, b=concentration0)
      )
      total_concentration = tf.convert_to_tensor(
          concentration1 + concentration0
      )
  
      dist = beta.Beta.experimental_from_mean_concentration(
          mean, total_concentration, validate_args=True
      )
      with tf.GradientTape() as tape:
          tape.watch((mean, total_concentration))
          lp = dist.log_prob(x)
      grads = tape.gradient(lp, (mean, total_concentration))
      self.assertAllNotNone(grads)
  
imports: from absl.testing import parameterized
  import numpy
  from scipy import special
  from scipy import stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import beta
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 44 for calling the BetaTest obj's underlying member method code with example usage: obj.testBetaFromMeanConcentrationTapeSafe() without return types