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].

Inherits from FedAvg (which inherits from WeightAggregator) as FedOpt algorithms work with neural network weight tensors.

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ΒΆ
current_weights: list[ndarray]ΒΆ
m_t: list[ndarray]ΒΆ
partial_aggregation: boolΒΆ