Federated learning is a training framework that allows multiple clients to collaboratively train a model without sharing data. FedDCD.jl is a Julia package for solving the following distributed empirical-risk minimization problem:

$\min_{w\in\mathbb{R}^d}\enspace F(w) := \sum_{i = 1}^N f_i(w),$

where $$N$$ is the number of clients and $$w$$ is the global model parameter. Each local objective $$f_i:\mathbb{R}^d \to\mathbb{R}$$ is defined by

$f_i(w) = \ell(w; \mathcal{D}_i),$

where $$\mathcal{D}_i$$ is the local data set maintained by client $$i$$.