tff.aggregators.PrivateQuantileEstimationProcess

A tff.templates.EstimationProcess for estimating private quantiles.

Inherits From: IterativeProcess

This iterative process uses a tensorflow_privacy.QuantileEstimatorQuery to maintain an estimate of the target quantile that is updated after each round. The next function has the following type signature:

(<{state_type}@SERVER,{float32}@CLIENTS> -> {state_type}@SERVER)

Given a state of type state_type, the most recent estimate of the target quantile can be retrieved using get_current_estimate(state).

quantile_estimator_query A tfp.QuantileEstimatorQuery for estimating quantiles with differential privacy.
record_aggregation_factory A tff.aggregators.AggregationProcessFactory to aggregate counts of values below the current estimate. If None, defaults to tff.aggregators.SumFactory.

initialize A no-arg tff.Computation that returns the initial state.
next A tff.Computation that produces the next state.

Its first argument should always be the current state (originally produced by tff.templates.IterativeProcess.initialize), and the first (or only) returned value is the updated state.

report A tff.Computation that computes the current estimate from state.

Given a state controlled by this process, computes and returns the most recent estimate of the estimated value.

state_type The tff.Type of the state of the process.

Methods

map

View source

Applies map_fn to the estimate function of the process.

This method will return a new instance of EstimationProcess with the same initailize and next functions, and its report function replaced by map_fn(report(state)).

Args
map_fn A tff.Computation to apply to the result of the report function of the process. Must accept the return type of report.

Returns
An EstimationProcess.

Raises
EstimateNotAssignableError If the return type of report is not assignable to the expected input type of map_fn.