Join us virtually at the Women in ML Symposium on October 19 Register now

tfl.configs.AggregateFunctionConfig

Config for aggregate function learning model.

Used in the notebooks

Used in the tutorials

An aggregate function learning model applies piecewise-linear and categorical calibration on the ragged input features, followed by an aggregation layer that aggregates the calibrated inputs. Lastly a lattice model and an optional output piecewise-linear calibration are applied.

Example:

model_config = tfl.configs.AggregateFunctionConfig(
    feature_configs=[...],
)
model = tfl.premade.AggregateFunction(model_config)
model.compile(...)
model.fit(...)
model.evaluate(...)

feature_configs A list of tfl.configs.FeatureConfig instances that specify configurations for each feature.
regularizer_configs A list of tfl.configs.RegularizerConfig instances that apply global regularization.
middle_dimension The number of calibrated lattices that are applied to each block. The outputs of these lattices are then averaged over the blocks, and the middle_dimension resulting numbers are then passed into the "middle" calibrated lattice. This middle lattice therefore has input dimension equal to middle_dimension.
middle_lattice_size Size of each of the middle_lattice dimensions.
middle_calibration If a piecewise-linear calibration should be used on the inputs to the middle lattice.
middle_calibration_num_keypoints Number of keypoints to use for the middle piecewise-linear calibration.
middle_monotonicity Specifies if the middle calibrators should be monotonic, using 'increasing' or 1 to indicate increasing monotonicity, 'decreasing' or -1 to indicate decreasing monotonicity, and 'none' or 0 to indicate no monotonicity constraints.
middle_lattice_interpolation One of 'hypercube' or 'simplex'. For a d-dimensional lattice, 'hypercube' interpolates 2^d parameters, whereas 'simplex' uses d+1 parameters and thus scales better. For details see tfl.lattice_lib.evaluate_with_simplex_interpolation and tfl.lattice_lib.evaluate_with_hypercube_interpolation.
aggregation_lattice_interpolation One of 'hypercube' or 'simplex'. For a d-dimensional lattice, 'hypercube' interpolates 2^d parameters, whereas 'simplex' uses d+1 parameters and thus scales better. For details see tfl.lattice_lib.evaluate_with_simplex_interpolation and tfl.lattice_lib.evaluate_with_hypercube_interpolation.
output_min Lower bound constraint on the output of the model.
output_max Upper bound constraint on the output of the model.
output_calibration If a piecewise-linear calibration should be used on the output of the lattice.
output_calibration_num_keypoints Number of keypoints to use for the output piecewise-linear calibration.
output_initialization The initial values to setup for the output of the model. When using output calibration, these values are used to initialize the output keypoints of the output piecewise-linear calibration. Otherwise the lattice parameters will be setup to form a linear function in the range of output_initialization. It can be one of:

  • String 'uniform': Output is initliazed uniformly in label range.
  • A list of numbers: To be used for initialization of the output lattice or output calibrator.

Methods

deserialize_nested_configs

View source

Returns a deserialized configuration dictionary.

feature_config_by_name

View source

Returns existing or default FeatureConfig with the given name.

from_config

View source

get_config

View source

Returns a configuration dictionary.

regularizer_config_by_name

View source

Returns existing or default RegularizerConfig with the given name.