code: def main(args):
      pyro.set_rng_seed(args.rng_seed)
  
      # Generate data.
      dataset = generate_data(args)
      obs = dataset["obs"]
  
      # Run inference.
      model = Model(args, obs)
      infer = {"mcmc": infer_mcmc, "svi": infer_svi}[args.infer]
      samples = infer(args, model)
  
      # Evaluate fit.
      evaluate(args, model, samples)
  
      # Predict latent time series.
      if args.forecast:
          predict(args, model, truth=dataset["new_I"])
  
file_path: pyro/examples/contrib/epidemiology/sir.py
imports: import argparse
  import logging
  import math
  import torch
  from torch.distributions import biject_to, constraints
  import pyro
  from pyro.contrib.epidemiology.models import HeterogeneousSIRModel, OverdispersedSEIRModel, OverdispersedSIRModel, SimpleSEIRModel, SimpleSIRModel, SuperspreadingSEIRModel, SuperspreadingSIRModel
label_desc: Use image node_id 7 for calling a global function with example usage: main(args) without return types