tff.aggregators.UnweightedReservoirSamplingFactory

An UnweightedAggregationFactory for reservoir sampling values.

Inherits From: UnweightedAggregationFactory

The created tff.templates.AggregationProcess samples values placed at CLIENTS, and outputs the sample placed at SERVER.

The process has empty state. The measurements of this factory include the number of non-finite (NaN or Inf values) for each leaf in the value structure.

For more about reservoir sampling see https://en.wikipedia.org/wiki/Reservoir_sampling

Methods

create

View source

Creates a tff.aggregators.AggregationProcess without weights.

The provided value_type is a non-federated tff.Type object, that is, value_type.is_federated() should return False.

The returned tff.aggregators.AggregationProcess will be created for aggregation of values matching value_type placed at tff.CLIENTS. That is, its next method will expect type <S@SERVER, {value_type}@CLIENTS>, where S is the unplaced return type of its initialize method.

Args
value_type A non-federated tff.Type (value_type.is_federated() returns False).

Returns
A tff.templates.AggregationProcess.