def mnist_config(): folders = split_to_folders(10) return { 'model_name': "KERAS_MNIST", 'dataloader_name': "KERAS_MNIST", 'location': folders[0], }
def mnist_config(): folders = split_to_folders(10) return { 'task_type': TaskType.KERAS_MNIST, 'train_folder': folders[0], 'test_folder': "", }
n_learners = 5 first_server_port = 9995 # make n servers server_processes = [] for i in range(n_learners): port = first_server_port + i server = GRPCServer(mli_factory=ExampleMliFactory(), port=port) server_process = Process(target=server.run) print("starting server", i) server_process.start() server_processes.append(server_process) # Before we make the grpc clients, ensure that there's an mnist folder for each client data_folders = split_to_folders(n_learners, data_split=[1 / n_learners] * n_learners) # Now make the corresponding grpc clients all_learner_models = [] for i in range(n_learners): port = first_server_port + i ml_system = ExampleGRPCLearnerClient(f"client {i}", f"127.0.0.1:{port}") ml_system.start() dataloader_params = {"location": data_folders[i]} ml_system.setup_ml(dataset_loader_name=dataloader_tag, dataset_loader_parameters=json.dumps(dataloader_params), model_arch_name=model_tag, model_parameters=json.dumps({})) all_learner_models.append(ml_system) # now colearn as usual!