TF 2.0 is out! Get hands-on practice at TF World, Oct 28-31. Use code TF20 for 20% off select passes. Register now

tfp.layers.default_loc_scale_fn

View source on GitHub

Makes closure which creates loc, scale params from tf.get_variable.

Aliases:

tfp.layers.default_loc_scale_fn(
    is_singular=False,
    loc_initializer=tf1.initializers.random_normal(stddev=0.1),
    untransformed_scale_initializer=tf1.initializers.random_normal(mean=-3.0, stddev=0.1),
    loc_regularizer=None,
    untransformed_scale_regularizer=None,
    loc_constraint=None,
    untransformed_scale_constraint=None
)

This function produces a closure which produces loc, scale using tf.get_variable. The closure accepts the following arguments:

dtype: Type of parameter's event. shape: Python list-like representing the parameter's event shape. name: Python str name prepended to any created (or existing) tf.Variables. trainable: Python bool indicating all created tf.Variables should be added to the graph collection GraphKeys.TRAINABLE_VARIABLES. add_variable_fn: tf.get_variable-like callable used to create (or access existing) tf.Variables.

Args:

  • is_singular: Python bool indicating if scale is None. Default: False.
  • loc_initializer: Initializer function for the loc parameters. The default is tf.random_normal_initializer(mean=0., stddev=0.1).
  • untransformed_scale_initializer: Initializer function for the scale parameters. Default value: tf.random_normal_initializer(mean=-3., stddev=0.1). This implies the softplus transformed result is initialized near 0. It allows a Normal distribution with scale parameter set to this value to approximately act like a point mass.
  • loc_regularizer: Regularizer function for the loc parameters. The default (None) is to use the tf.get_variable default.
  • untransformed_scale_regularizer: Regularizer function for the scale parameters. The default (None) is to use the tf.get_variable default.
  • loc_constraint: An optional projection function to be applied to the loc after being updated by an Optimizer. The function must take as input the unprojected variable and must return the projected variable (which must have the same shape). Constraints are not safe to use when doing asynchronous distributed training. The default (None) is to use the tf.get_variable default.
  • untransformed_scale_constraint: An optional projection function to be applied to the scale parameters after being updated by an Optimizer (e.g. used to implement norm constraints or value constraints). The function must take as input the unprojected variable and must return the projected variable (which must have the same shape). Constraints are not safe to use when doing asynchronous distributed training. The default (None) is to use the tf.get_variable default.

Returns:

  • default_loc_scale_fn: Python callable which instantiates loc, scale parameters from args: dtype, shape, name, trainable, add_variable_fn.