code: def test_nested_plate_plate_ok(backend, jit):
      data = torch.randn(2, 3)
  
      def model():
          loc = torch.tensor(3.0)
          with pyro.plate("plate_outer", data.size(-1), dim=-1):
              x = pyro.sample("x", dist.Normal(loc, 1.0))
              with pyro.plate("plate_inner", data.size(-2), dim=-2):
                  pyro.sample("y", dist.Normal(x, 1.0), obs=data)
  
      def guide():
          loc = pyro.param("loc", torch.tensor(0.0))
          scale = pyro.param("scale", torch.tensor(1.0))
          with pyro.plate("plate_outer", data.size(-1), dim=-1):
              pyro.sample("x", dist.Normal(loc, scale))
  
      with pyro_backend(backend):
          Elbo = infer.JitTrace_ELBO if jit else infer.Trace_ELBO
          elbo = Elbo(ignore_jit_warnings=True)
          assert_ok(model, guide, elbo)
  
imports: import warnings
  import pytest
  import torch
  from pytest import approx
  from torch.distributions import constraints
  from pyro.generic import distributions
  from pyro.generic import infer, ops, optim, pyro, pyro_backend
  from tests.common import assert_close, xfail_param
label_desc: Use image node_id 11 for calling a global function with example usage: test_nested_plate_plate_ok(backend, jit) without return types