code: def normal_model():
      zero = torch.zeros(2)
      a = pyro.sample("a", dist.Normal(0, 1))
      b = pyro.sample("b", dist.LogNormal(0, 1))
      c = pyro.sample("c", dist.Normal(a, b))
      d = pyro.sample("d", dist.LogNormal(a, b))
      e = pyro.sample("e", dist.Normal(zero, b).to_event(1))
      f = pyro.sample("f", dist.LogNormal(zero, b).to_event(1))
      g = pyro.sample("g", dist.Normal(0, 1), obs=a)
      h = pyro.sample("h", dist.LogNormal(0, 1), obs=b)
      with pyro.plate("plate", 5):
          i = pyro.sample("i", dist.Normal(a, b))
          j = pyro.sample("j", dist.LogNormal(a, b))
      return a, b, c, d, e, f, g, h, i, j
  
imports: import pytest
  import torch
  import pyro
  import pyro.distributions
  from pyro import poutine
  from pyro.infer import SVI, Predictive, Trace_ELBO
  from pyro.infer.autoguide import AutoNormal
  from pyro.infer.reparam import AutoReparam, MinimalReparam
  from pyro.optim import Adam
label_desc: Use image node_id 2 for calling a global function with example usage: normal_model() and returns: a,  b,  c,  d,  e,  f,  g,  h,  i,  j