|View source on GitHub|
Libraries for building federated learning algorithms.
tff.learning provides a few types of functionality.
- Algorithmic building blocks (see
tff.learning.templates) for constructing federated learning algorithms. These are algorithms centered around the client work, server work, broadcast, or aggregation steps of a federated algorithms, and are intended to compose in a somewhat modular fashion.
- End-to-end federated learning algorithms (such as
tff.learning.build_federated_averaging_process) that combine broadcast, client work, aggregation, and server update logic into a single algorithm (often by composing the building blocks discussed above). This library also provides end-to-end algorithms for federated evaluation (see
- Functionality supporting the development of the algorithms above. This
tff.learning.metricsand recommended aggregators, such as
algorithms module: Libraries providing implementations of federated learning algorithms.
framework module: Libraries for developing federated learning algorithms.
metrics module: Libraries for working with metrics in federated learning algorithms.
models module: Libraries for working with models in federated learning algorithms.
optimizers module: Libraries for optimization algorithms.
reconstruction module: Libraries for using federated reconstruction algorithms.
templates module: Libraries of specialized processes used for building learning algorithms.
class ClientFedAvg: Client TensorFlow logic for Federated Averaging.
class ClientWeighting: Enum for built-in methods for weighing clients.
class Model: Represents a model for use in TensorFlow Federated.
class ModelWeights: A container for the trainable and non-trainable variables of a
add_debug_measurements(...): Adds measurements suitable for debugging learning processes.
build_federated_averaging_process(...): Builds an iterative process that performs federated averaging.
build_federated_evaluation(...): Builds the TFF computation for federated evaluation of the given model.
build_local_evaluation(...): Builds the local TFF computation for evaluation of the given model.
build_personalization_eval(...): Builds the TFF computation for evaluating personalization strategies.
compression_aggregator(...): Creates aggregator with compression and adaptive zeroing and clipping.
dp_aggregator(...): Creates aggregator with adaptive zeroing and differential privacy.
federated_aggregate_keras_metric(...): Aggregates variables a keras metric placed at CLIENTS to SERVER.
robust_aggregator(...): Creates aggregator for mean with adaptive zeroing and clipping.
secure_aggregator(...): Creates secure aggregator with adaptive zeroing and clipping.
state_with_new_model_weights(...): Returns a
ServerState with updated model weights.