p2pfl.learning.aggregators.fedopt.base moduleΒΆ

Base class for FedOpt family of aggregators.

class p2pfl.learning.aggregators.fedopt.base.FedOptBase(eta=0.1, beta_1=0.9, tau=1e-09, disable_partial_aggregation=False)[source]ΒΆ

Bases: FedAvg

Base class for Federated Optimization (FedOpt) family [Reddi et al., 2020].

This class extends FedAvg to provide common functionality for adaptive federated optimization algorithms like FedAdagrad, FedAdam, and FedYogi.

Paper: https://arxiv.org/abs/2003.00295

Parameters:
  • eta (float)

  • beta_1 (float)

  • tau (float)

  • disable_partial_aggregation (bool)

SUPPORTS_PARTIAL_AGGREGATION: bool = FalseΒΆ
addr: strΒΆ
aggregate(models)[source]ΒΆ

Aggregate models using FedOpt algorithm.

Parameters:

models (list[P2PFLModel]) – List of P2PFLModel objects to aggregate.

Return type:

P2PFLModel

Returns:

A P2PFLModel with the optimized parameters.

current_weights: list[ndarray]ΒΆ
m_t: list[ndarray]ΒΆ
partial_aggregation: boolΒΆ