tfp.layers.default_loc_scale_fn

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

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.

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.

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