Swarm - Définissez votre algorithme décentralisé

class manta.swarm.Swarm

Cette classe définit un algorithme décentralisé qui doit être envoyé à ungrappe

globals

Valeurs globales initiales

Type:

Dict[str, Any]

execute() ModuleID

Cette méthode doit être définie par l’utilisateur

Renvoie:

ID du module qui est le dernier module exécuté dans le graphique avant l’itération

Type renvoyé:

ModuleID

Exemples

>>> def execute(self):
...     """
...     Generation of the task graph
...
...     +--------+     +------------+     +-----------+ if has_converged
...     | Worker | --> | Aggregator | --> | Scheduler | ----------------> END PROGRAM
...     +--------+     +------------+     +-----------+
...         |                                   | else
...         +--<<<----------<<<----------<<<----+
...     """
...     m = self.worker()
...     m = self.aggregator(m)
...     return self.scheduler(m)
set_global(tag: str, value: dict)

Définir une valeur Global dans un Swarm

Exemples

>>> self.set_global(
...     "hyperparameters",
...     {
...         "epochs": 1,
...         "batch_size": 32,
...         "loss": "CrossEntropyLoss",
...         "loss_params": {},
...         "optimizer": "SGD",
...         "optimizer_params": {"lr": 0.01, "momentum": 0.9},
...     },
... )