Exécution de l'encodeur embarqué (transformée d'analyse g_a) sur plusieurs moteurs.
Plus de détails...
|
| | available (key) |
| | Indique si un moteur est utilisable (bibliothèques importables).
|
|
| available_backends () |
| | Liste des identifiants de moteurs utilisables, dans l'ordre de BACKENDS.
|
| | limited_threads () |
| | Contexte dans lequel PyTorch calcule sur THREADS thread(s).
|
| | fingerprint (module) |
| | Empreinte des poids d'un module (SHA-1 tronqué), mise en cache sur le module.
|
| | export_onnx (module, shape) |
| | Exporte un module en ONNX pour une taille d'entrée fixe, ou réutilise l'export existant.
|
| | _prune_onnx (keep) |
| | Supprime les exports ONNX les moins récemment utilisés au-delà de MAX_ONNX_FILES.
|
|
| _torch_runner (module) |
| | Exécuteur PyTorch du module, sur THREADS thread(s).
|
|
| _onnxruntime_runner (path) |
| | Exécuteur ONNX Runtime (CPU, THREADS thread(s)) d'un fichier ONNX.
|
| | _aidge_runner (path, shape) |
| | Exécuteur Aidge (backend CPU, ordonnanceur séquentiel) d'un fichier ONNX.
|
| | get_runner (backend, module, shape) |
| | Fonction numpy -> numpy qui exécute module sur backend.
|
|
| clear_runners () |
| | Vide le cache des exécuteurs (libère modèles, sessions et graphes).
|
|
|
dict | BACKENDS = {"torch": "PyTorch", "onnxruntime": "ONNX Runtime", "aidge": "Aidge (CPU)"} |
| | Moteurs connus : identifiant -> nom affiché.
|
|
int | THREADS = 1 |
| | Nombre de threads de calcul utilisés pour toutes les mesures.
|
|
int | ONNX_OPSET = 13 |
| | Version d'opset des exports ONNX (prise en charge par aidge_onnx 0.10).
|
|
int | MAX_RUNNERS = 8 |
| | Nombre de moteurs préparés gardés en mémoire (chacun retient un modèle, une session ou un graphe).
|
|
int | MAX_ONNX_FILES = 32 |
| | Nombre de fichiers ONNX gardés dans outputs/onnx ; les plus anciens sont supprimés.
|
|
| _runners = OrderedDict() |
| | Cache LRU des exécuteurs : (moteur, empreinte des poids, forme) -> fonction numpy -> numpy.
|
Exécution de l'encodeur embarqué (transformée d'analyse g_a) sur plusieurs moteurs.
torch : référence PyTorch ;
onnxruntime : le modèle ONNX qui sert d'entrée à Aidge ;
aidge : backend CPU d'Aidge, première étape vers le code C/C++ généré.
Les mesures de temps se font sur THREADS thread(s) pour rester comparables entre moteurs (et plus proches d'un CPU embarqué) ; elles restent indicatives tant qu'elles sont prises sur PC.
Les modèles ONNX sont exportés une fois par (poids, taille d'entrée) dans outputs/onnx, et les moteurs préparés (session, graphe compilé) sont gardés dans un cache LRU de MAX_RUNNERS entrées.