code: def adaptive_gaussian_prior_builder(
      getter, name, *args, **kwargs):
    
    kwargs["shape"] = ()
    loc_var = getter(name + "_prior_loc", *args, **kwargs)
    kwargs["initializer"] = scale_variable_initializer(0.01)
    scale_var = getter(name + "_prior_scale", *args, **kwargs)
    prior = tfp.distributions.Normal(
        loc=loc_var, scale=tf.nn.softplus(scale_var),
        name="{}_prior_dist".format(name))
    return prior
docs: A pre-canned builder for adaptive scalar gaussian prior distributions.
  
    Given a true `getter` function and arguments forwarded from `tf.get_variable`,
    return a distribution object for a scalar-valued adaptive gaussian prior
    which will be broadcast over a variable of the requisite shape. This prior's
    parameters (e.g `loc` and `scale` for a gaussian) will consist of a single
    learned scalar for the entire `tf.Variable` for which it serves as the prior,
    regardless of that `tf.Variable`'s shape.
  
    Args:
      getter: The `getter` passed to a `custom_getter`. Please see the
        documentation for `tf.get_variable`.
      name: The `name` argument passed to `tf.get_variable`.
      *args: See positional arguments passed to `tf.get_variable`.
      **kwargs: See keyword arguments passed to `tf.get_variable`.
  
    Returns:
      An instance of `tfp.distributions.Normal` representing the prior
      distribution over the variable in question.