Constructs an executor factory to execute computations locally.
tff.framework.local_executor_factory(
default_num_clients: int = 0,
max_fanout=100,
clients_per_thread=1,
server_tf_device=None,
client_tf_devices=tuple(),
reference_resolving_clients=True,
support_sequence_ops=False,
leaf_executor_fn=tff.framework.EagerTFExecutor
,
local_computation_factory=tensorflow_computation_factory.TensorFlowComputationFactory()
) -> tff.framework.ExecutorFactory
Args |
default_num_clients
|
The number of clients to run by default if cardinality
cannot be inferred from arguments.
|
max_fanout
|
The maximum fanout at any point in the aggregation hierarchy. If
num_cients > max_fanout , the constructed executor stack will consist of
multiple levels of aggregators. The height of the stack will be on the
order of log(num_cients) / log(max_fanout) .
|
clients_per_thread
|
Integer number of clients for each of TFF's threads to
run in sequence. Increasing clients_per_thread therefore reduces the
concurrency of the TFF runtime, which can be useful if client work is very
lightweight or models are very large and multiple copies cannot fit in
memory.
|
server_tf_device
|
A tf.config.LogicalDevice to place server and other
computation without explicit TFF placement.
|
client_tf_devices
|
List/tuple of tf.config.LogicalDevice to place clients
for simulation. Possibly accelerators returned by
tf.config.list_logical_devices() .
|
reference_resolving_clients
|
Boolean indicating whether executors
representing clients must be able to handle unplaced TFF lambdas.
|
support_sequence_ops
|
Boolean indicating whether this executor supports
sequence ops (currently False by default).
|
leaf_executor_fn
|
A function that constructs leaf-level executors. Default
is the eager TF executor (other possible options: XLA). Should accept the
device keyword argument if the executor is to be configured with
explicitly chosen devices.
|
local_computation_factory
|
An instance of LocalComputationFactory to use
to construct local computations used as parameters in certain federated
operators (such as tff.federated_sum , etc.). Defaults to a TensorFlow
computation factory that generates TensorFlow code.
|
Returns |
An instance of executor_factory.ExecutorFactory encapsulating the
executor construction logic specified above.
|
Raises |
ValueError
|
If the number of clients is specified and not one or larger.
|