class_docstr: Vectorized plate implementation using :func:`~pyro.contrib.funsor.to_data` instead of
  :class:`~pyro.poutine.runtime._DimAllocator`.
class_docstr_tok: ["Vectorized","plate","implementation","using",":","func",":","`","~pyro.contrib.funsor.to_data","`","instead","of",":","class",":","`","~pyro.poutine.runtime._DimAllocator","`","."]
code: def _pyro_sample(self, msg):
      frame = CondIndepStackFrame(self.name, self.dim, self.size, 0)
      msg["cond_indep_stack"] = (frame,) + msg["cond_indep_stack"]
  
imports: from collections import OrderedDict
  from numbers import Number
  import funsor
  from pyro.contrib.funsor.handlers.named_messenger import DimRequest, DimType, GlobalNamedMessenger, NamedMessenger
  from pyro.contrib.funsor.handlers.primitives import to_data, to_funsor
  from pyro.distributions.util import copy_docs_from
  from pyro.poutine.broadcast_messenger import BroadcastMessenger
  from pyro.poutine.indep_messenger import CondIndepStackFrame
  from pyro.poutine.messenger import Messenger
  from pyro.poutine.runtime import effectful
  from pyro.poutine.subsample_messenger import SubsampleMessenger
  from pyro.util import ignore_jit_warnings
label_desc: Use image node_id 3 for calling the IndepMessenger obj's underlying member method code with example usage: obj._pyro_sample(msg) without return types