tff.learning.templates.ClientWorkProcess | TensorFlow Federated (original) (raw)
A stateful process capturing work at clients during learning.
Inherits From: MeasuredProcess, IterativeProcess
tff.learning.templates.ClientWorkProcess(
initialize_fn: tff.Computation,
next_fn: tff.Computation,
*,
get_hparams_fn: Optional[tff.Computation] = None,
set_hparams_fn: Optional[tff.Computation] = None
)
Used in the notebooks
Used in the tutorials |
---|
Composing Learning Algorithms |
Client work encapsulates the main work performed by clients as part of a federated learning algorithm, such as several steps of gradient descent based on the client data, and returning a update to the initial model weights.
A ClientWorkProcess
is a tff.templates.MeasuredProcess that formalizes the type signature of initialize
and next
for the core work performed by clients in a learning process.
Args | |
---|---|
initialize_fn | A tff.Computation matching the criteria above. |
next_fn | A tff.Computation matching the criteria above. |
get_hparams_fn | An optional tff.Computation matching the criteria above. If not provided, this defaults to a computation that returns an empty ordred dictionary, regardless of the contents of the state. |
set_hparams_fn | An optional tff.Computation matching the criteria above. If not provided, this defaults to a pass-through computation, that returns the input state regardless of the hparams passed in. |
Raises | |
---|---|
TemplateNotFederatedError | If any of the federated computations provided do not return a federated type. |
TemplateNextFnNumArgsError | If the next_fn has an incorrect number of arguments. |
TemplatePlacementError | If any of the federated computations have an incorrect placement. |
ClientDataTypeError | If the third input of next_fn is not a sequence type placed at CLIENTS. |
ClientResultTypeError | If the second output of next_fn does not meet the criteria outlined above. |
GetHparamsTypeError | If the type signature of get_hparams_fn does not meet the criteria above. |
SetHparamsTypeError | If the type signature of set_hparams_fn does not meet the criteria above. |
Attributes | |
---|---|
get_hparams | |
initialize | A no-arg tff.Computation that returns the initial state. |
next | A tff.Computation that produces the next state.Its first argument should always be the current state (originally produced by tff.templates.IterativeProcess.initialize), and the first (or only) returned value is the updated state. |
set_hparams | |
state_type | The tff.Type of the state of the process. |