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`.
docstr: Method that calls :meth:`forward` and returns parameter values of the
  guide as a `tuple` instead of a `dict`, which is a requirement for
  JIT tracing. Unlike :meth:`forward`, this method can be traced by
  :func:`torch.jit.trace_module`.
  
  .. warning::
      This method may be removed once PyTorch JIT tracer starts accepting
      `dict` as valid return types. See
      `issue <https://github.com/pytorch/pytorch/issues/27743>`_.
docstr_tok: ["Method","that","calls",":","meth",":","`","forward","`","and","returns","parameter","values","of","the","guide","as","a","`","tuple","`","instead","of","a","`","dict","`",",","which","is","a","requirement","for","JIT","tracing",".","Unlike",":","meth",":","`","forward","`",",","this","method","can","be","traced","by",":","func",":","`","torch.jit.trace_module","`",".","..","warning",":",":","This","method","may","be","removed","once","PyTorch","JIT","tracer","starts","accepting","`","dict","`","as","valid","return","types",".","See","`","issue","<","https",":","\/\/github.com\/pytorch\/pytorch\/issues\/27743",">","`","_","."]
code: def call(self, *args, **kwargs):
      """
      Method that calls :meth:`forward` and returns parameter values of the
      guide as a `tuple` instead of a `dict`, which is a requirement for
      JIT tracing. Unlike :meth:`forward`, this method can be traced by
      :func:`torch.jit.trace_module`.
  
      .. warning::
          This method may be removed once PyTorch JIT tracer starts accepting
          `dict` as valid return types. See
          `issue <https://github.com/pytorch/pytorch/issues/27743>`_.
      """
      result = self.forward(*args, **kwargs)
      return tuple(v for _, v in sorted(result.items()))
  
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 2 for calling the Predictive obj's underlying member method code with example usage: obj.call() and returns: tuple