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.bench

Campagnes de benchmark : codecs x niveaux x images -> un CSV par campagne dans outputs/bench. Plus de détails...

Fonctions

 pick_levels (levels, n)
 n niveaux répartis régulièrement, extrêmes compris (tous s'il y en a moins).
 evaluate (codec, img, level, mode, backend="torch", real_rate=True)
 Une mesure : compression, décompression et métriques.
 campaign_name (name=None)
 Nom de fichier d'une nouvelle campagne, sans écraser une campagne existante.
 run_benchmark (codec_keys, image_paths, mode, points=6, backend="torch", real_rate=False, name=None, progress=None)
 Lance une campagne et l'enregistre en CSV.
 list_runs ()
 Noms des campagnes enregistrées, de la plus récente à la plus ancienne.
 load_runs (names)
 Mesures de plusieurs campagnes concaténées (les noms inconnus sont ignorés).
 aggregate (df)
 Moyenne des mesures sur les images : une ligne par point de courbe.
 rd_figure (agg, metric="psnr")
 Courbes débit / distorsion (codecs appris en traits pleins, classiques en pointillés).
 time_figure (agg)
 Temps d'encodage moyen par courbe (encodage complet et transformée d'analyse), échelle log.
 bd_table (agg, reference, metric="psnr")
 BD-rate de chaque courbe par rapport à une courbe de référence.
 main (argv=None)
 Point d'entrée de la ligne de commande (python -m aidge_in_space.bench –help).

Variables

list GROUP_COLS = ["campagne", "codec", "codec_label", "famille", "niveau", "niveau_label", "mode", "moteur", "débit"]
 Colonnes qui identifient un point de courbe (les mesures sont moyennées sur les images).
dict METRICS = {"psnr": "PSNR (dB)", "ms_ssim_db": "MS-SSIM (dB)", "ms_ssim": "MS-SSIM"}
 Métriques tracées : colonne -> libellé d'axe.

Description détaillée

Campagnes de benchmark : codecs x niveaux x images -> un CSV par campagne dans outputs/bench.

Exemple (sur la machine d'entraînement, sans interface) :

python -m aidge_in_space.bench --codecs jpeg,jpeg2000,bmshj2018-factorized --images 24 --mode rgb

Documentation des fonctions

◆ aggregate()

aidge_in_space.bench.aggregate ( df)

Moyenne des mesures sur les images : une ligne par point de courbe.

La colonne courbe est le libellé de légende : nom du codec, complété par le moteur si un même codec a été mesuré avec plusieurs moteurs, et par la campagne si plusieurs sont affichées.

Paramètres
dfMesures brutes (run_benchmark() ou load_runs()).
Renvoie
DataFrame trié par courbe puis par débit.

◆ bd_table()

aidge_in_space.bench.bd_table ( agg,
reference,
metric = "psnr" )

BD-rate de chaque courbe par rapport à une courbe de référence.

Paramètres
aggPoints agrégés (aggregate()).
referenceValeur de la colonne courbe qui sert de référence.
metricQualité utilisée (psnr ou ms_ssim_db).
Renvoie
DataFrame : courbe, points, bpp min, bpp max et BD-rate en % (négatif = mieux) ; vide si la référence est absente.

◆ campaign_name()

aidge_in_space.bench.campaign_name ( name = None)

Nom de fichier d'une nouvelle campagne, sans écraser une campagne existante.

Paramètres
nameNom souhaité (caractères spéciaux remplacés par « _ ») ; date et heure si vide.
Renvoie
Nom libre dans BENCH_DIR, suffixé par _2, _3... si nécessaire.

◆ evaluate()

aidge_in_space.bench.evaluate ( codec,
img,
level,
mode,
backend = "torch",
real_rate = True )

Une mesure : compression, décompression et métriques.

Paramètres
codecCodec.
imgImage uint8.
levelLevel du codec.
mode"gris" ou "rgb".
backendMoteur de l'encodeur (ignoré par les codecs sans moteur).
real_rateDébit réel ou estimé (voir Codec.run()).
Renvoie
Couple (ligne de résultats sous forme de dictionnaire, Result).

◆ load_runs()

aidge_in_space.bench.load_runs ( names)

Mesures de plusieurs campagnes concaténées (les noms inconnus sont ignorés).

Paramètres
namesNoms de campagnes (voir list_runs()).
Renvoie
DataFrame, vide si aucune campagne n'est trouvée.

◆ main()

aidge_in_space.bench.main ( argv = None)

Point d'entrée de la ligne de commande (python -m aidge_in_space.bench –help).

Paramètres
argvArguments (ceux de la ligne de commande si None).

◆ pick_levels()

aidge_in_space.bench.pick_levels ( levels,
n )

n niveaux répartis régulièrement, extrêmes compris (tous s'il y en a moins).

Paramètres
levelsNiveaux du codec, du plus bas au plus haut débit.
nNombre de niveaux voulus.
Renvoie
Sous-liste de levels.

◆ rd_figure()

aidge_in_space.bench.rd_figure ( agg,
metric = "psnr" )

Courbes débit / distorsion (codecs appris en traits pleins, classiques en pointillés).

Paramètres
aggPoints agrégés (aggregate()).
metricColonne de METRICS en ordonnée.
Renvoie
matplotlib.figure.Figure.

◆ run_benchmark()

aidge_in_space.bench.run_benchmark ( codec_keys,
image_paths,
mode,
points = 6,
backend = "torch",
real_rate = False,
name = None,
progress = None )

Lance une campagne et l'enregistre en CSV.

Une mesure en erreur n'arrête pas la campagne : elle est ajoutée à la liste des erreurs.

Paramètres
codec_keysIdentifiants des codecs.
image_pathsChemins des images.
mode"gris" ou "rgb" (les codecs qui ne l'acceptent pas sont sautés).
pointsNombre de niveaux par codec (voir pick_levels()).
backendMoteur de l'encodeur des codecs appris.
real_rateDébit réel (plus lent) ou estimé.
nameNom de la campagne (voir campaign_name()).
progressFonction facultative progress(fraction, texte).
Renvoie
Triplet (DataFrame des mesures, chemin du CSV ou None si aucune mesure, liste des erreurs).

◆ time_figure()

aidge_in_space.bench.time_figure ( agg)

Temps d'encodage moyen par courbe (encodage complet et transformée d'analyse), échelle log.

Paramètres
aggPoints agrégés (aggregate()).
Renvoie
matplotlib.figure.Figure.