code: def brownian_motion_prior_fn(num_timesteps, innovation_noise_scale):
      """Generative process for the Brownian Motion model."""
      prior_loc = 0.0
      new = yield Root(
          tfd.Normal(
              loc=prior_loc, scale=innovation_noise_scale, name="x_0"
          )
      )
      for t in range(1, num_timesteps):
          new = yield tfd.Normal(
              loc=new,
              scale=innovation_noise_scale,
              name="x_{}".format(t),
          )
  
imports: import functools
  import tensorflow.compat.v2
  import tensorflow_probability
  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 brownian_motion_missing_middle_observations
  from inference_gym.targets.ground_truth import brownian_motion_unknown_scales_missing_middle_observations
label_desc: Use image node_id 2 for calling a global function with example usage: brownian_motion_prior_fn(num_timesteps, innovation_noise_scale) without return types