Aggregation to produce uniform sample of at most max_num_samples
values.
tff.aggregators.federated_sample(
value, max_num_samples=100
)
Each client value is assigned a random number when it is examined during each
accumulation. Each accumulate and merge only keeps the top N values based
on the random number. Report drops the random numbers and only returns the
at most N values sampled from the accumulated client values using standard
reservoir sampling (https://en.wikipedia.org/wiki/Reservoir_sampling), where
N is user provided max_num_samples
.
Args |
value
|
A tff.Value placed on the tff.CLIENTS .
|
max_num_samples
|
The maximum number of samples to collect from client
values. If fewer clients than the defined max sample size participated in
the round of computation, the actual number of samples will equal the
number of clients in the round.
|
Returns |
At most max_num_samples samples of the value from the tff.CLIENTS .
|