code: def generate_data():
      model = HarmonicModel()
  
      state = {}
      model.init(state)
      zs = [torch.tensor([1.0, 0.0])]
      ys = [None]
      for t in range(50):
          z, y = model.step(state)
          zs.append(z)
          ys.append(y)
  
      return zs, ys
  
imports: import pytest
  import torch
  import pyro
  import pyro.distributions
  import pyro.poutine
  from pyro.infer import SMCFilter
  from pyro.infer.smcfilter import _systematic_sample
  from tests.common import assert_close
label_desc: Use image node_id 3 for calling a global function with example usage: generate_data() and returns: zs,  ys