AIDGE IN SPACE
Banc d'essai de compression d'image apprise pour l'embarqué
Chargement...
Recherche...
Aucune correspondance
Référence de l'espace de nommage aidge_in_space.app

Interface Gradio du banc d'essai. Plus de détails...

Fonctions

 codec_choices (mode, learned_only=False)
 Codecs disponibles dans un mode, pour un menu Gradio.
 backend_choices ()
 Moteurs disponibles : liste de couples (libellé, identifiant).
 level_choices (key, mode)
 Niveaux d'un codec : liste de couples (libellé, indice dans levels(mode)).
 dataset_choices ()
 Noms des jeux d'images disponibles.
 image_choices (dataset)
 Noms de fichier des images d'un jeu.
 codecs_markdown ()
 Tableau Markdown de tous les codecs enregistrés (onglet « Codecs et aide »).
 _image (dataset, name, upload, mode)
 Image à traiter : l'image importée si elle existe, sinon celle choisie dans le jeu.
 _selected (key, level_idx, mode)
 Codec et niveau choisis dans un onglet.
 _zoom (img, zx, zy)
 Zone carrée agrandie ZOOM_FACTOR fois (plus proche voisin), pour comparer les détails.
 _row (row, res)
 Ligne de tableau affichée pour une mesure de bench.evaluate().
 _round (df, digits=3)
 Arrondit un DataFrame pour l'affichage (laisse un DataFrame vide tel quel).
 compare (dataset, name, upload, mode, keys, target, backend, real_rate, zx, zy, progress=gr.Progress())
 Onglet « Comparer » : une image, plusieurs codecs au niveau le plus proche d'un débit visé.
 explore (dataset, name, upload, mode, key, level_idx, backend, real_rate)
 Onglet « Explorer un codec » : un codec à un niveau précis, avec la carte d'erreur.
 image_count_slider (n)
 Bornes du curseur « Nombre d'images » pour un jeu de n images.
 run_benchmark (dataset, n_images, mode, keys, points, backend, real_rate, name, ref, metric, progress=gr.Progress())
 Onglet « Benchmark » : lance une campagne, l'enregistre et l'affiche.
 show_runs (names, ref, metric)
 Affiche une ou plusieurs campagnes enregistrées.
 _input_shape (codec, preset)
 Forme d'entrée (1, C, H, W) de l'encodeur d'un codec appris pour une taille prédéfinie.
 profile (key, level_idx, preset, mode)
 Onglet « Encodeur embarqué » : profil couche par couche de la partie embarquée.
 _mac_figure (df)
 Histogramme de la part des MAC par couche (convolutions en bleu, GDN en orange).
 compare_encoders (preset, mode)
 Totaux du profil de chaque architecture de chaque codec appris (un niveau par architecture).
 check_backends (key, level_idx, preset, mode, progress=gr.Progress())
 Exécute l'encodeur entraîné sur chaque moteur et compare les sorties à PyTorch.
 mode_updates (m)
 Mises à jour des menus de codecs quand le mode change.
 codec_menus (m)
 Relit le registre de codecs sans le redécouvrir (session neuve ou autre session ayant rechargé).
 reload_codecs (m)
 Redécouvre les codecs (bouton « Recharger les codecs », ou fin d'un entraînement).
 parse_users (spec)
 Comptes de l'interface depuis AIDGE_UI_USERS (login:motdepasse,login2:motdepasse2).
 is_loopback (host)
 Indique si une adresse d'écoute n'est joignable que depuis cette machine.
 check_exposure (host, users, bind, in_docker)
 Refuse d'exposer l'interface sur le réseau sans authentification.
 build ()
 Construit l'interface (sans la lancer).
 main (argv=None)
 Point d'entrée : télécharge Kodak si besoin, découvre les codecs et lance le serveur.

Variables

list MODE_CHOICES = [(label, key) for key, label in MODE_LABELS.items()]
 Choix du mode d'image : (libellé, identifiant).
int ZOOM_SIZE = 128
 Côté de la zone zoomée, en pixels de l'image.
int ZOOM_FACTOR = 3
 Agrandissement de la zone zoomée.
dict PROFILE_PRESETS
 Tailles d'image proposées pour le profilage : libellé -> (H, W).
str HELP
 Texte de l'onglet « Codecs et aide » (Markdown).

Description détaillée

Interface Gradio du banc d'essai.

Lancement : python -m aidge_in_space.app puis http://127.0.0.1:7860. Chaque action est aussi exposée par l'API Gradio (api_name : compare, explore, benchmark, profile, compare_encoders, check_backends), utilisable avec gradio_client.

Documentation des fonctions

◆ _image()

aidge_in_space.app._image ( dataset,
name,
upload,
mode )
protected

Image à traiter : l'image importée si elle existe, sinon celle choisie dans le jeu.

Renvoie
Couple (image uint8, titre).
Exceptions
gr.Errorsi aucune image n'est choisie.

◆ _selected()

aidge_in_space.app._selected ( key,
level_idx,
mode )
protected

Codec et niveau choisis dans un onglet.

Paramètres
keyIdentifiant du codec.
level_idxIndice du niveau dans levels(mode) (valeur du menu, éventuellement texte).
mode"gris" ou "rgb".
Renvoie
Couple (Codec, Level).
Exceptions
gr.Errorsi le codec ou le niveau est absent ou invalide.

◆ _zoom()

aidge_in_space.app._zoom ( img,
zx,
zy )
protected

Zone carrée agrandie ZOOM_FACTOR fois (plus proche voisin), pour comparer les détails.

Paramètres
imgImage uint8.
zxPosition horizontale de la zone, en % de la marge disponible.
zyPosition verticale de la zone, en %.
Renvoie
Image PIL.

◆ build()

aidge_in_space.app.build ( )

Construit l'interface (sans la lancer).

Renvoie
gr.Blocks.

◆ check_backends()

aidge_in_space.app.check_backends ( key,
level_idx,
preset,
mode,
progress = gr.Progress() )

Exécute l'encodeur entraîné sur chaque moteur et compare les sorties à PyTorch.

Entrée aléatoire (graine fixe) ; le premier passage (export ONNX, compilation) est chronométré à part.

Paramètres
keyIdentifiant du codec appris.
level_idxIndice du niveau.
presetClé de PROFILE_PRESETS.
mode"gris" ou "rgb".
progressBarre de progression Gradio.
Renvoie
Tableau : moteur, temps de préparation, temps d'un passage, écart max et % de latents arrondis identiques à PyTorch.

◆ check_exposure()

aidge_in_space.app.check_exposure ( host,
users,
bind,
in_docker )

Refuse d'exposer l'interface sur le réseau sans authentification.

Paramètres
hostAdresse d'écoute demandée.
usersComptes (parse_users()).
bindAIDGE_UI_BIND : adresse de l'hôte où Docker publie le port.
in_dockerVrai si le programme tourne dans un conteneur (alors bind prime sur host).
Exceptions
ValueErrorsi l'adresse effective n'est pas locale et qu'aucun compte n'est défini.

◆ codec_choices()

aidge_in_space.app.codec_choices ( mode,
learned_only = False )

Codecs disponibles dans un mode, pour un menu Gradio.

Paramètres
mode"gris" ou "rgb".
learned_onlyTrue pour ne garder que les codecs appris.
Renvoie
Liste de couples (libellé, identifiant).

◆ codec_menus()

aidge_in_space.app.codec_menus ( m)

Relit le registre de codecs sans le redécouvrir (session neuve ou autre session ayant rechargé).

Paramètres
mMode courant.
Renvoie
Même forme que reload_codecs() : mode_updates(), puis le tableau des codecs.

◆ compare()

aidge_in_space.app.compare ( dataset,
name,
upload,
mode,
keys,
target,
backend,
real_rate,
zx,
zy,
progress = gr.Progress() )

Onglet « Comparer » : une image, plusieurs codecs au niveau le plus proche d'un débit visé.

Un codec en erreur est signalé (gr.Warning) et sauté.

Paramètres
datasetJeu d'images.
nameImage du jeu.
uploadImage importée (PIL) ou None.
mode"gris" ou "rgb".
keysIdentifiants des codecs.
targetDébit visé, en bpp.
backendMoteur de l'encodeur des codecs appris.
real_rateDébit réel ou estimé.
zxPosition horizontale du zoom, en %.
zyPosition verticale du zoom, en %.
progressBarre de progression Gradio.
Renvoie
Triplet (galerie des reconstructions, galerie des zooms, tableau des mesures).
Exceptions
gr.Errorsi aucun codec n'est coché.

◆ compare_encoders()

aidge_in_space.app.compare_encoders ( preset,
mode )

Totaux du profil de chaque architecture de chaque codec appris (un niveau par architecture).

Paramètres
presetClé de PROFILE_PRESETS.
mode"gris" ou "rgb".
Renvoie
Tableau : codec, architecture, niveaux concernés et totaux de profiling.summarize().

◆ explore()

aidge_in_space.app.explore ( dataset,
name,
upload,
mode,
key,
level_idx,
backend,
real_rate )

Onglet « Explorer un codec » : un codec à un niveau précis, avec la carte d'erreur.

Les paramètres sont ceux de compare(), plus le codec (key) et l'indice du niveau (level_idx).

Renvoie
Couple (galerie original / reconstruction / erreur x 4, tableau des mesures).

◆ image_count_slider()

aidge_in_space.app.image_count_slider ( n)

Bornes du curseur « Nombre d'images » pour un jeu de n images.

Gradio refuse un curseur dont le minimum égale le maximum : le maximum vaut au moins 2, même pour un jeu vide ou d'une seule image (le benchmark prend alors les images qui existent).

Paramètres
nNombre d'images du jeu.
Renvoie
Dictionnaire maximum et value, à passer à gr.Slider ou à gr.update.

◆ is_loopback()

aidge_in_space.app.is_loopback ( host)

Indique si une adresse d'écoute n'est joignable que depuis cette machine.

Paramètres
hostNom ou adresse (localhost, 127.0.0.1, ::1…).
Renvoie
Faux pour une adresse vide, 0.0.0.0, :: ou toute autre adresse.

◆ main()

aidge_in_space.app.main ( argv = None)

Point d'entrée : télécharge Kodak si besoin, découvre les codecs et lance le serveur.

Paramètres
argvArguments (–host, –port, –inbrowser) ; ceux de la ligne de commande si None.

Variables d'environnement : AIDGE_UI_HOST, AIDGE_UI_USERS, AIDGE_UI_BIND, AIDGE_MAX_UPLOAD_MB.

Exceptions
SystemExit(code 2) si la configuration d'accès est invalide ou expose le réseau sans authentification.

◆ mode_updates()

aidge_in_space.app.mode_updates ( m)

Mises à jour des menus de codecs quand le mode change.

Paramètres
m"gris" ou "rgb".
Renvoie
Tuple de gr.update pour (keys, ex_codec, ex_level, b_keys, p_codec, p_level).

◆ parse_users()

aidge_in_space.app.parse_users ( spec)

Comptes de l'interface depuis AIDGE_UI_USERS (login:motdepasse,login2:motdepasse2).

Chaque entrée est coupée au premier :. Les virgules dans un mot de passe ne sont pas prises en charge.

Paramètres
specTexte de la variable, ou None.
Renvoie
Liste de couples (login, mot de passe) ; vide si spec est vide.
Exceptions
ValueErrorsi une entrée est mal formée (le mot de passe n'apparaît jamais dans le message).

◆ profile()

aidge_in_space.app.profile ( key,
level_idx,
preset,
mode )

Onglet « Encodeur embarqué » : profil couche par couche de la partie embarquée.

Calculé sur l'architecture non entraînée : aucun téléchargement de poids.

Paramètres
keyIdentifiant du codec appris.
level_idxIndice du niveau.
presetClé de PROFILE_PRESETS.
mode"gris" ou "rgb".
Renvoie
Triplet (résumé Markdown, tableau des couches, figure de répartition des MAC).

◆ reload_codecs()

aidge_in_space.app.reload_codecs ( m)

Redécouvre les codecs (bouton « Recharger les codecs », ou fin d'un entraînement).

Paramètres
mMode courant.
Renvoie
Les mises à jour de mode_updates(), puis le tableau des codecs (onglet « Codecs et aide »).

◆ run_benchmark()

aidge_in_space.app.run_benchmark ( dataset,
n_images,
mode,
keys,
points,
backend,
real_rate,
name,
ref,
metric,
progress = gr.Progress() )

Onglet « Benchmark » : lance une campagne, l'enregistre et l'affiche.

Paramètres
datasetJeu d'images.
n_imagesNombre d'images du jeu à utiliser.
mode"gris" ou "rgb".
keysIdentifiants des codecs.
pointsNiveaux par codec.
backendMoteur de l'encodeur des codecs appris.
real_rateDébit réel ou estimé.
nameNom de la campagne (jamais écrasée, voir bench.campaign_name()).
refCourbe de référence du BD-rate.
metricQualité du BD-rate (psnr ou ms_ssim_db).
progressBarre de progression Gradio.
Renvoie
Statut (Markdown), mise à jour de la liste des campagnes, puis les sorties de show_runs().
Exceptions
gr.Errorsi aucun codec n'est coché ou si le jeu d'images est vide.

◆ show_runs()

aidge_in_space.app.show_runs ( names,
ref,
metric )

Affiche une ou plusieurs campagnes enregistrées.

Paramètres
namesNoms des campagnes.
refCourbe de référence du BD-rate ; remplacée par JPEG (ou la première courbe) si absente.
metricQualité du BD-rate.
Renvoie
Figures PSNR, MS-SSIM et temps, table des BD-rates, table des points, menu de référence mis à jour, et chemin du CSV si une seule campagne est affichée.