class_docstr: EXPERIMENTAL class used to construct predictive distribution. The predictive
  distribution is obtained by running the `model` conditioned on latent samples
  from `posterior_samples`. If a `guide` is provided, then posterior samples
  from all the latent sites are also returned.
  
  .. warning::
      The interface for the :class:`Predictive` class is experimental, and
      might change in the future.
  
  :param model: Python callable containing Pyro primitives.
  :param dict posterior_samples: dictionary of samples from the posterior.
  :param callable guide: optional guide to get posterior samples of sites not present
      in `posterior_samples`.
  :param int num_samples: number of samples to draw from the predictive distribution.
      This argument has no effect if ``posterior_samples`` is non-empty, in which case,
      the leading dimension size of samples in ``posterior_samples`` is used.
  :param return_sites: sites to return; by default only sample sites not present
      in `posterior_samples` are returned.
  :type return_sites: list, tuple, or set
  :param bool parallel: predict in parallel by wrapping the existing model
      in an outermost `plate` messenger. Note that this requires that the model has
      all batch dims correctly annotated via :class:`~pyro.plate`. Default is `False`.
code: def get_samples(self, *args, **kwargs):
      warnings.warn(
          "The method `.get_samples` has been deprecated in favor of `.forward`.",
          DeprecationWarning,
      )
      return self.forward(*args, **kwargs)
  
file_path: pyro/pyro/infer/predictive.py
imports: import warnings
  from functools import reduce
  import torch
  import pyro
  import pyro.poutine
  from pyro.poutine.util import prune_subsample_sites
label_desc: Use image node_id 4 for calling the Predictive obj's underlying member method code with example usage: obj.get_samples() and returns: self