code: def heuristic_init(args, data):
      """Heuristically initialize to a feasible point."""
      # Start with a single infection.
      S0 = args.population - 1
      # Assume 50% <= response rate <= 100%.
      S2I = data * min(2.0, (S0 / data.sum()).sqrt())
      S_aux = (S0 - S2I.cumsum(-1)).clamp(min=0.5)
      # Account for the single initial infection.
      S2I[0] += 1
      # Assume infection lasts less than a month.
      recovery = torch.arange(30.0).div(args.recovery_time).neg().exp()
      I_aux = convolve(S2I, recovery)[: len(data)].clamp(min=0.5)
  
      return {
          "R0": torch.tensor(2.0),
          "rho": torch.tensor(0.5),
          "S_aux": S_aux,
          "I_aux": I_aux,
      }
  
imports: import argparse
  import logging
  import math
  import re
  from collections import OrderedDict
  import torch
  import pyro
  import pyro.distributions
  import pyro.distributions.hmm
  import pyro.poutine
  from pyro.infer import MCMC, NUTS, config_enumerate, infer_discrete
  from pyro.infer.autoguide import init_to_value
  from pyro.ops.special import safe_log
  from pyro.ops.tensor_utils import convolve
  from pyro.util import warn_if_nan
label_desc: Use image node_id 9 for calling a global function with example usage: heuristic_init(args, data) and returns: dict