class_docstr: Common methods for testing ADVI surrogate posteriors.
class_docstr_tok: ["Common","methods","for","testing","ADVI","surrogate","posteriors","."]
code: def _make_gamma_model(self):
      Root = (
          jdc.JointDistributionCoroutine.Root
      )  # pylint: disable=invalid-name
  
      def model_fn():
          concentration = yield Root(exponential.Exponential(1.0))
          rate = yield Root(exponential.Exponential(1.0))
          y = yield sample.Sample(  # pylint: disable=unused-variable
              gamma.Gamma(concentration=concentration, rate=rate),
              sample_shape=4,
          )
  
      return jdc.JointDistributionCoroutine(model_fn)
  
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import exp
  from tensorflow_probability.python.bijectors import fill_triangular
  from tensorflow_probability.python.bijectors import identity
  from tensorflow_probability.python.bijectors import joint_map
  from tensorflow_probability.python.bijectors import masked_autoregressive
  from tensorflow_probability.python.bijectors import sigmoid
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import deterministic
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import gamma
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import joint_distribution_coroutine
  from tensorflow_probability.python.distributions import joint_distribution_named
  from tensorflow_probability.python.distributions import joint_distribution_sequential
  from tensorflow_probability.python.distributions import laplace
  from tensorflow_probability.python.distributions import logistic
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import sample
  from tensorflow_probability.python.distributions import student_t
  from tensorflow_probability.python.experimental.vi import surrogate_posteriors
  from tensorflow_probability.python.internal import nest_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.internal import tf_keras
  from tensorflow_probability.python.vi import optimization
  from tensorflow.python.util import nest
label_desc: Use image node_id 6 for calling the _SurrogatePosterior obj's underlying member method code with example usage: obj._make_gamma_model() and returns: jdc