class_docstr: Abstract base class for effect-based guides.
  
  Derived classes must implement the :meth:`get_posterior` method.
class_docstr_tok: ["Abstract","base","class","for","effect-based","guides",".","Derived","classes","must","implement","the",":","meth",":","`","get_posterior","`","method","."]
code: def _pyro_post_sample(self, msg: "Message") -> None:
      # Manually apply outer plates.
      assert msg["infer"] is not None
      prior = msg["infer"].get("prior")
      if prior is not None:
          if TYPE_CHECKING:
              assert isinstance(msg["fn"], TorchDistributionMixin)
          if prior.batch_shape != msg["fn"].batch_shape:
              msg["infer"]["prior"] = prior.expand(
                  msg["fn"].batch_shape
              )
      return super()._pyro_post_sample(msg)
  
file_path: pyro/pyro/poutine/guide.py
imports: from abc import ABC, abstractmethod
  from typing import TYPE_CHECKING, Callable, Dict, Optional, Tuple, Union
  import torch
  import pyro.distributions
  from pyro.poutine.trace_messenger import TraceMessenger
  from pyro.poutine.trace_struct import Trace
  from pyro.poutine.util import prune_subsample_sites, site_is_subsample
label_desc: Use image node_id 6 for calling the GuideMessenger obj's underlying member method code with example usage: obj._pyro_post_sample(msg) and returns: super