MCPcopy
hub / github.com/FedML-AI/FedML / FARunner

Class FARunner

python/fedml/fa/runner.py:5–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3
4
5class FARunner:
6 def __init__(
7 self,
8 args,
9 dataset,
10 client_trainer=None,
11 server_aggregator=None,
12 ):
13
14 if args.training_type == FEDML_TRAINING_PLATFORM_SIMULATION:
15 init_runner_func = self._init_simulation_runner
16 elif args.training_type == FEDML_TRAINING_PLATFORM_CROSS_SILO:
17 init_runner_func = self._init_cross_silo_runner
18 else:
19 raise Exception("no such setting")
20
21 self.runner = init_runner_func(
22 args, dataset, client_trainer, server_aggregator
23 )
24
25 def _init_simulation_runner(
26 self, args, dataset, client_analyzer=None, server_analyzer=None
27 ):
28 if hasattr(args, "backend") and args.backend == FEDML_SIMULATION_TYPE_SP:
29 runner = FASimulatorSingleProcess(args, dataset)
30 else:
31 raise Exception("not such backend {}".format(args.backend))
32
33 return runner
34
35 def _init_cross_silo_runner(self, args, dataset, client_analyzer=None, server_analyzer=None):
36 if args.role == "client":
37 from fedml.fa.cross_silo.fa_client import FACrossSiloClient as Client
38 runner = Client(args, dataset, client_analyzer)
39 elif args.role == "server":
40 from fedml.fa.cross_silo.fa_server import FACrossSiloServer as Server
41 runner = Server(args, dataset, server_analyzer)
42 else:
43 raise Exception("no such role")
44
45 return runner
46
47 def run(self):
48 self.runner.run()

Callers 14

client.pyFile · 0.90
server.pyFile · 0.90
client.pyFile · 0.90
server.pyFile · 0.90
client.pyFile · 0.90
server.pyFile · 0.90
client.pyFile · 0.90
server.pyFile · 0.90
client.pyFile · 0.90
server.pyFile · 0.90
client.pyFile · 0.90
server.pyFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected