|
AIDGE IN SPACE
Banc d'essai de compression d'image apprise pour l'embarqué
|
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. | |
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.
|
protected |
Image à traiter : l'image importée si elle existe, sinon celle choisie dans le jeu.
| gr.Error | si aucune image n'est choisie. |
|
protected |
Codec et niveau choisis dans un onglet.
| key | Identifiant du codec. |
| level_idx | Indice du niveau dans levels(mode) (valeur du menu, éventuellement texte). |
| mode | "gris" ou "rgb". |
| gr.Error | si le codec ou le niveau est absent ou invalide. |
|
protected |
Zone carrée agrandie ZOOM_FACTOR fois (plus proche voisin), pour comparer les détails.
| img | Image uint8. |
| zx | Position horizontale de la zone, en % de la marge disponible. |
| zy | Position verticale de la zone, en %. |
| aidge_in_space.app.build | ( | ) |
Construit l'interface (sans la lancer).
| 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.
| key | Identifiant du codec appris. |
| level_idx | Indice du niveau. |
| preset | Clé de PROFILE_PRESETS. |
| mode | "gris" ou "rgb". |
| progress | Barre de progression Gradio. |
| aidge_in_space.app.check_exposure | ( | host, | |
| users, | |||
| bind, | |||
| in_docker ) |
Refuse d'exposer l'interface sur le réseau sans authentification.
| host | Adresse d'écoute demandée. |
| users | Comptes (parse_users()). |
| bind | AIDGE_UI_BIND : adresse de l'hôte où Docker publie le port. |
| in_docker | Vrai si le programme tourne dans un conteneur (alors bind prime sur host). |
| ValueError | si l'adresse effective n'est pas locale et qu'aucun compte n'est défini. |
| aidge_in_space.app.codec_choices | ( | mode, | |
| learned_only = False ) |
Codecs disponibles dans un mode, pour un menu Gradio.
| mode | "gris" ou "rgb". |
| learned_only | True pour ne garder que les codecs appris. |
| aidge_in_space.app.codec_menus | ( | m | ) |
Relit le registre de codecs sans le redécouvrir (session neuve ou autre session ayant rechargé).
| m | Mode courant. |
| 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é.
| dataset | Jeu d'images. |
| name | Image du jeu. |
| upload | Image importée (PIL) ou None. |
| mode | "gris" ou "rgb". |
| keys | Identifiants des codecs. |
| target | Débit visé, en bpp. |
| backend | Moteur de l'encodeur des codecs appris. |
| real_rate | Débit réel ou estimé. |
| zx | Position horizontale du zoom, en %. |
| zy | Position verticale du zoom, en %. |
| progress | Barre de progression Gradio. |
| gr.Error | si aucun codec n'est coché. |
| aidge_in_space.app.compare_encoders | ( | preset, | |
| mode ) |
Totaux du profil de chaque architecture de chaque codec appris (un niveau par architecture).
| preset | Clé de PROFILE_PRESETS. |
| mode | "gris" ou "rgb". |
| 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).
| 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).
| n | Nombre d'images du jeu. |
maximum et value, à passer à gr.Slider ou à gr.update. | aidge_in_space.app.is_loopback | ( | host | ) |
Indique si une adresse d'écoute n'est joignable que depuis cette machine.
| host | Nom ou adresse (localhost, 127.0.0.1, ::1…). |
0.0.0.0, :: ou toute autre adresse. | 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.
| argv | Arguments (–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.
| SystemExit | (code 2) si la configuration d'accès est invalide ou expose le réseau sans authentification. |
| aidge_in_space.app.mode_updates | ( | m | ) |
Mises à jour des menus de codecs quand le mode change.
| m | "gris" ou "rgb". |
| 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.
| spec | Texte de la variable, ou None. |
spec est vide. | ValueError | si une entrée est mal formée (le mot de passe n'apparaît jamais dans le message). |
| 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.
| key | Identifiant du codec appris. |
| level_idx | Indice du niveau. |
| preset | Clé de PROFILE_PRESETS. |
| mode | "gris" ou "rgb". |
| aidge_in_space.app.reload_codecs | ( | m | ) |
Redécouvre les codecs (bouton « Recharger les codecs », ou fin d'un entraînement).
| m | Mode courant. |
| 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.
| dataset | Jeu d'images. |
| n_images | Nombre d'images du jeu à utiliser. |
| mode | "gris" ou "rgb". |
| keys | Identifiants des codecs. |
| points | Niveaux par codec. |
| backend | Moteur de l'encodeur des codecs appris. |
| real_rate | Débit réel ou estimé. |
| name | Nom de la campagne (jamais écrasée, voir bench.campaign_name()). |
| ref | Courbe de référence du BD-rate. |
| metric | Qualité du BD-rate (psnr ou ms_ssim_db). |
| progress | Barre de progression Gradio. |
| gr.Error | si aucun codec n'est coché ou si le jeu d'images est vide. |
| aidge_in_space.app.show_runs | ( | names, | |
| ref, | |||
| metric ) |
Affiche une ou plusieurs campagnes enregistrées.
| names | Noms des campagnes. |
| ref | Courbe de référence du BD-rate ; remplacée par JPEG (ou la première courbe) si absente. |
| metric | Qualité du BD-rate. |