class_docstr: EXPERIMENTAL Reparameterize to a conjugate updated distribution.
  
  This updates a prior distribution ``fn`` using the
  :meth:`~pyro.distributions.Distribution.conjugate_update`
  method.  The guide may be either a distribution object or a callable
  inputting model ``*args,**kwargs`` and returning a distribution object. The
  guide may be approximate or learned.
  
  For example consider the model and naive variational guide::
  
      total = torch.tensor(10.)
      count = torch.tensor(2.)
  
      def model():
          prob = pyro.sample("prob", dist.Beta(0.5, 1.5))
          pyro.sample("count", dist.Binomial(total, prob), obs=count)
  
      guide = AutoDiagonalNormal(model)  # learns the posterior over prob
  
  Instead of using this learned guide, we can hand-compute the conjugate
  posterior distribution over "prob", and then use a simpler guide during
  inference, in this case an empty guide::
  
      reparam_model = poutine.reparam(model, {
          "prob": ConjugateReparam(dist.Beta(1 + count, 1 + total - count))
      })
  
      def reparam_guide():
          pass  # nothing remains to be modeled!
  
  :param guide: A likelihood distribution or a callable returning a
      guide distribution. Only a few distributions are supported, depending
      on the prior distribution's
      :meth:`~pyro.distributions.Distribution.conjugate_update`
      implementation.
  :type guide: ~pyro.distributions.Distribution or callable
code: def __init__(self, guide):
      self.guide = guide
  
file_path: pyro/pyro/infer/reparam/conjugate.py
imports: import pyro
  import pyro.distributions
  import pyro.poutine
  from .reparam import Reparam
label_desc: Use image node_id 1 to create a new ConjugateReparam object from inherited base classes: Reparam with example: obj = ConjugateReparam(guide)