Globals - Partager des valeurs entre les nœuds

class manta_light.globals.Globals(host: str, port: int, task_id: str, chunk_size: int = 1048576)

Classe qui gère la manipulation des globals (getter et setter)

Paramètres:
  • host (str) – Hôte du Manager

  • port (int) – Port du Manager

  • task_id (str) – ID de la tâche

  • chunk_size (int) – Taille du chunk

__getitem__(tag: str) dict

Obtenir les résultats d’une tâche

Paramètres:

tag (str) – La balise du résultat à obtenir

Renvoie:

La réponse du service world

Type renvoyé:

dict

Exemples

À l’intérieur d’une classe Task, vous pouvez accéder aux globals définis par un Swarm en utilisant l’attribut self.world défini automatiquement par Task :

>>> weights = self.world.globals["global_model_params"]
async _get_global(service: WorldStub, request: GlobalTag) GlobalValue

Obtenir un global à partir de la base de données

Paramètres:
  • service (WorldStub) – Service

  • request (GlobalTag) – Tag du global

Renvoie:

Valeur du global

Type renvoyé:

GlobalValue

async async_get(tag: str)

Obtenir les résultats des tâches

Paramètres:

tag (str) – La balise du résultat à obtenir

Renvoie:

La réponse du service world

Type renvoyé:

dict

Exemples

Identique à __getitem__, mais asynchrone.

>>> weights = await self.world.globals.async_get(
...     "global_model_params"
... )
async async_set(tag: str, result: dict)

Définir le résultat d’une tâche

Paramètres:
  • tag (str) – La balise du résultat à définir

  • result (dict) – Le résultat à définir

Exemples

Identique à __setitem__, mais asynchrone.

>>> await self.world.globals.async_set(
...     "global_model_params",
...     new_weights
... )