|
AIDGE IN SPACE
Banc d'essai de compression d'image apprise pour l'embarqué
|
Accès à la base des jobs d'entraînement (une connexion par opération). Plus de détails...
Fonctions membres publiques | |
| __init__ (self, str|Path|None db_path=None) | |
| Ouvre (et crée si besoin) la base. | |
| Path | job_dir (self, int job_id) |
| Dossier d'un job (config.yaml, train.log) ; non créé. | |
| int | submit (self, dict config) |
| Insère un job en file d'attente. | |
| Job | get (self, int job_id) |
| Lit un job. | |
| list[Job] | list_jobs (self, int|None limit=200, Iterable[str]|None statuses=None) |
| Liste les jobs du plus récent au plus ancien. | |
| Job|None | claim_next (self, str worker) |
| Prend atomiquement le plus ancien job en attente et le passe en cours. | |
| None | heartbeat (self, int job_id) |
| Met à jour le battement de cœur d'un job en cours (sans effet sinon). | |
| None | set_ckpt_path (self, int job_id, str path) |
| Enregistre le chemin du checkpoint d'un job. | |
| None | reset_progress (self, int job_id, int step) |
| Efface les métriques de pas supérieur à step et remet last_step. | |
| None | log_metrics (self, int job_id, int step, str kind, dict data) |
| Consigne une ligne de métriques et avance last_step. | |
| list[dict] | metrics (self, int job_id, str|None kind=None) |
| Métriques d'un job triées par pas (la ligne la plus récente par (kind, pas)). | |
| str | cancel (self, int job_id) |
| Annule un job en attente ou demande l'annulation d'un job en cours. | |
| bool | cancel_requested (self, int job_id) |
| Indique si l'annulation d'un job a été demandée. | |
| None | finish (self, int job_id, str status, str|None error=None) |
| Fixe le statut final d'un job en cours. | |
| None | requeue (self, int job_id) |
| Remet en file un job en échec, annulé ou interrompu (même id : reprise du checkpoint). | |
| list[int] | recover_orphans (self, float stale_after_s=60.0) |
| Passe en interrompus les jobs en cours dont le battement de cœur est périmé. | |
| None | worker_heartbeat (self, str name, int|None job_id=None) |
| Enregistre ou met à jour la présence d'un worker. | |
| bool | worker_alive (self, float max_age_s=30.0) |
| Indique si un worker a donné signe de vie récemment. | |
Attributs publics | |
| path = Path(db_path) if db_path is not None else Path(config.RUNS_DIR) / DB_NAME | |
| Chemin de la base SQLite. | |
Fonctions membres protégées | |
| sqlite3.Connection | _connect (self) |
| Ouvre une connexion neuve (mode autocommit, accès par nom de colonne). | |
| _read (self) | |
| Contexte de lecture : connexion fermée à la sortie. | |
| _write (self) | |
| Contexte d'écriture : transaction BEGIN IMMEDIATE validée (ou annulée sur exception). | |
| None | _init_schema (self) |
| Crée le schéma si la base est neuve et amorce l'AUTOINCREMENT sur les checkpoints existants. | |
Fonctions membres protégées statiques | |
| sqlite3.Row | _require (sqlite3.Connection con, int job_id) |
| Lit le statut et le drapeau d'annulation d'un job, ou lève KeyError. | |
Accès à la base des jobs d'entraînement (une connexion par opération).
| aidge_in_space.jobs.JobStore.__init__ | ( | self, | |
| str | Path | None | db_path = None ) |
Ouvre (et crée si besoin) la base.
| db_path | Chemin de la base ; None : config.RUNS_DIR / DB_NAME (lu à l'appel). |
| RuntimeError | Si la base a un schéma plus récent que SCHEMA_VERSION. |
|
protected |
Ouvre une connexion neuve (mode autocommit, accès par nom de colonne).
|
protected |
Crée le schéma si la base est neuve et amorce l'AUTOINCREMENT sur les checkpoints existants.
| RuntimeError | Si user_version dépasse SCHEMA_VERSION. |
|
protected |
Contexte de lecture : connexion fermée à la sortie.
|
staticprotected |
Lit le statut et le drapeau d'annulation d'un job, ou lève KeyError.
| con | Connexion ouverte. |
| job_id | Identifiant du job. |
| KeyError | Si le job est inconnu. |
|
protected |
Contexte d'écriture : transaction BEGIN IMMEDIATE validée (ou annulée sur exception).
| str aidge_in_space.jobs.JobStore.cancel | ( | self, | |
| int | job_id ) |
Annule un job en attente ou demande l'annulation d'un job en cours.
| job_id | Identifiant du job. |
| ValueError | Si le job est déjà dans un statut final. |
| KeyError | Si le job est inconnu. |
| bool aidge_in_space.jobs.JobStore.cancel_requested | ( | self, | |
| int | job_id ) |
Indique si l'annulation d'un job a été demandée.
| job_id | Identifiant du job. |
| KeyError | Si le job est inconnu. |
| Job | None aidge_in_space.jobs.JobStore.claim_next | ( | self, | |
| str | worker ) |
Prend atomiquement le plus ancien job en attente et le passe en cours.
| worker | Nom du worker. |
| None aidge_in_space.jobs.JobStore.finish | ( | self, | |
| int | job_id, | ||
| str | status, | ||
| str | None | error = None ) |
Fixe le statut final d'un job en cours.
| job_id | Identifiant du job. |
| status | Statut final, parmi FINAL_STATUSES. |
| error | Message d'erreur éventuel (tronqué à 4 000 caractères). |
| ValueError | Si status n'est pas final ou si le job n'est pas en cours. |
| KeyError | Si le job est inconnu. |
| Job aidge_in_space.jobs.JobStore.get | ( | self, | |
| int | job_id ) |
Lit un job.
| job_id | Identifiant du job. |
| KeyError | Si le job est inconnu. |
| None aidge_in_space.jobs.JobStore.heartbeat | ( | self, | |
| int | job_id ) |
Met à jour le battement de cœur d'un job en cours (sans effet sinon).
| job_id | Identifiant du job. |
| KeyError | Si le job est inconnu. |
| Path aidge_in_space.jobs.JobStore.job_dir | ( | self, | |
| int | job_id ) |
Dossier d'un job (config.yaml, train.log) ; non créé.
| job_id | Identifiant du job. |
| list[Job] aidge_in_space.jobs.JobStore.list_jobs | ( | self, | |
| int | None | limit = 200, | ||
| Iterable[str] | None | statuses = None ) |
Liste les jobs du plus récent au plus ancien.
| limit | Nombre maximal de jobs ; None pour ne pas limiter. |
| statuses | Statuts à garder (parmi STATUSES) ; None pour tous. |
| ValueError | Si un statut est inconnu. |
| None aidge_in_space.jobs.JobStore.log_metrics | ( | self, | |
| int | job_id, | ||
| int | step, | ||
| str | kind, | ||
| dict | data ) |
Consigne une ligne de métriques et avance last_step.
| job_id | Identifiant du job. |
| step | Pas d'entraînement. |
| kind | "train" ou "eval". |
| data | Valeurs (JSON-sérialisables). |
| ValueError | Si kind est invalide. |
| KeyError | Si le job est inconnu. |
| list[dict] aidge_in_space.jobs.JobStore.metrics | ( | self, | |
| int | job_id, | ||
| str | None | kind = None ) |
Métriques d'un job triées par pas (la ligne la plus récente par (kind, pas)).
| job_id | Identifiant du job. |
| kind | Filtre "train" ou "eval" ; None : les deux. |
| KeyError | Si le job est inconnu. |
| list[int] aidge_in_space.jobs.JobStore.recover_orphans | ( | self, | |
| float | stale_after_s = 60.0 ) |
Passe en interrompus les jobs en cours dont le battement de cœur est périmé.
| stale_after_s | Âge maximal du battement de cœur, en secondes. |
| None aidge_in_space.jobs.JobStore.requeue | ( | self, | |
| int | job_id ) |
Remet en file un job en échec, annulé ou interrompu (même id : reprise du checkpoint).
| job_id | Identifiant du job. |
| ValueError | Si le job est en attente, en cours ou terminé. |
| KeyError | Si le job est inconnu. |
| None aidge_in_space.jobs.JobStore.reset_progress | ( | self, | |
| int | job_id, | ||
| int | step ) |
Efface les métriques de pas supérieur à step et remet last_step.
| job_id | Identifiant du job. |
| step | Pas de départ (0 ou pas du checkpoint repris). |
| KeyError | Si le job est inconnu. |
| None aidge_in_space.jobs.JobStore.set_ckpt_path | ( | self, | |
| int | job_id, | ||
| str | path ) |
Enregistre le chemin du checkpoint d'un job.
| job_id | Identifiant du job. |
| path | Chemin du checkpoint. |
| KeyError | Si le job est inconnu. |
| int aidge_in_space.jobs.JobStore.submit | ( | self, | |
| dict | config ) |
Insère un job en file d'attente.
| config | TrainConfig.to_dict() ; clés name, author, in_ch, N, lmbda, steps obligatoires. |
| ValueError | Clé absente ou mal typée, nom vide, steps < 1, config non sérialisable en JSON. |
| bool aidge_in_space.jobs.JobStore.worker_alive | ( | self, | |
| float | max_age_s = 30.0 ) |
Indique si un worker a donné signe de vie récemment.
| max_age_s | Âge maximal du dernier signe de vie, en secondes. |
| None aidge_in_space.jobs.JobStore.worker_heartbeat | ( | self, | |
| str | name, | ||
| int | None | job_id = None ) |
Enregistre ou met à jour la présence d'un worker.
| name | Nom du worker. |
| job_id | Job en cours, ou None. |