code: def lorenz_system_unknown_scales_prior_fn(
      num_timesteps, step_size, use_markov_chain=False, dtype=tf.float32
  ):
      """Generative process for the Lorenz System model with unknown scales."""
      innovation_scale = yield Root(
          tfd.LogNormal(-1.0, 1.0, name="innovation_scale")
      )
      _ = yield Root(tfd.LogNormal(-1.0, 1.0, name="observation_scale"))
      if use_markov_chain:
          yield lorenz_system_as_markov_chain(
              num_timesteps,
              innovation_scale=innovation_scale,
              step_size=step_size,
              dtype=dtype,
          )
      else:
          yield from lorenz_system_as_explicit_steps(
              num_timesteps=num_timesteps,
              innovation_scale=innovation_scale,
              step_size=step_size,
              dtype=dtype,
          )
  
imports: import functools
  import numpy
  import tensorflow.compat.v2
  import tensorflow_probability
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import tensor_util
  from inference_gym.internal import data
  from inference_gym.targets import bayesian_model
  from inference_gym.targets import model
  from inference_gym.targets.ground_truth import convection_lorenz_bridge
  from inference_gym.targets.ground_truth import convection_lorenz_bridge_unknown_scales
label_desc: Use image node_id 4 for calling a global function with example usage: lorenz_system_unknown_scales_prior_fn(num_timesteps, step_size, use_markov_chain, dtype) without return types