utilitaires libreyolo

Neuf commandes qui rapportent ou inspectent au lieu de calculer. Elles affichent les informations sur l'environnement, l'inventaire des modèles et des formats, les valeurs par défaut résolues, les détails d'un checkpoint, et elles construisent et interrogent une galerie de visages.

Commandes
version, checks, models, formats, cfg, info, metadata, enroll, compare
Sortie
stdout, en texte ou, avec json=true, sous forme d'un seul objet portant schema_version

Synopsis

bash
libreyolo <command> [key=value ...]

Les arguments sont des paires key=value, et la forme POSIX fonctionne aussi : model=x et --model x sont le même argument. Toutes les commandes de cette page écrivent leur résultat sur stdout et acceptent json=true et quiet=true.

La commande racine possède un flag qui lui est propre, libreyolo --version, qui affiche la chaîne de version puis s'arrête. La sortie est plus réduite que celle de la commande version ci-dessous.

version

Affiche la version de LibreYOLO ainsi que les versions de Python, de torch et de CUDA avec lesquelles elle s'exécute.

bash
libreyolo version
ArgumentDéfautSignification
jsonfalseSortie JSON sur stdout
quietfalseMasque stderr

checks

Affiche l'environnement plus en détail : Python, torch, CUDA, cuDNN, chaque GPU détecté avec son nom et sa mémoire, et la version installée de chaque paquet optionnel utilisé par les chemins d'export.

bash
libreyolo checks
ArgumentDéfautSignification
jsonfalseSortie JSON sur stdout
quietfalseMasque stderr

La liste des paquets couvre onnx, onnxruntime, tensorrt, openvino, paddlepaddle, x2paddle, mnn, ncnn, onnx2tf, ai-edge-litert, transformers et scipy. Un paquet qui n'est pas installé est signalé comme tel plutôt qu'omis : un export qui échoue se rattache ainsi à une dépendance manquante depuis cette seule commande.

models

Liste chaque famille de modèles avec ses tâches, ses tailles, les noms CLI qui pointent vers ses checkpoints, et la résolution d'entrée de chaque taille.

bash
libreyolo models
ArgumentDéfautSignification
jsonfalseSortie JSON sur stdout
quietfalseMasque stderr

Une famille dont la dépendance optionnelle n'est pas installée est indiquée comme indisponible, accompagnée de la ligne pip install qui la rendrait disponible. Les noms CLI sont ce que model= accepte comme raccourci : yolox-s correspond à LibreYOLOXs.pt, et les tâches autres que la détection portent leur suffixe de tâche.

formats

Liste les formats d'export que l'environnement installé peut produire, avec l'extension de fichier de chaque format et sa prise en charge de FP16 et INT8.

bash
libreyolo formats [family=<family>] [task=<task>]
ArgumentDéfautSignification
familyAffiche les niveaux de prise en charge pour une famille de modèles. model= est accepté comme la même option
taskTâche canonique du modèle. La tâche par défaut de la famille si non défini
jsonfalseSortie JSON sur stdout
quietfalseMasque stderr

Sans family, la sortie se limite à l'inventaire des formats. Avec, chaque format reçoit le niveau de prise en charge pour cette famille et cette tâche, la raison de ce niveau, et toute contrainte qui s'y rattache. Une famille inconnue, ou une tâche que la famille ne prend pas en charge, est une erreur d'utilisation.

Les alias de format apparaissent à côté de leur nom canonique : engine pour tensorrt, litert pour tflite.

cfg

Affiche la configuration par défaut résolue : les valeurs par défaut d'entraînement, celles de validation, celles de prédiction, et les surcharges par famille.

bash
libreyolo cfg
ArgumentDéfautSignification
jsonfalseSortie JSON sur stdout
quietfalseMasque stderr

Les valeurs sont lues dans les dataclasses de configuration, pas dans une copie : c'est donc la référence sur ce qu'un entraînement utilisera lorsque vous ne passez pas d'argument. family_overrides est la section qui explique pourquoi une famille s'est entraînée avec des réglages que vous n'avez pas demandés. Voir libreyolo train pour la façon dont ces surcharges sont appliquées.

info

Charge un modèle sur le CPU et rapporte sa famille, sa taille, son nombre de paramètres, ses classes, et le niveau d'export pour chaque format.

bash
libreyolo info model=<name|path>
ArgumentDéfautSignification
modelNom du modèle ou chemin vers les poids. Obligatoire
detailedfalseInclut le détail paramètre par paramètre
jsonfalseSortie JSON sur stdout
quietfalseMasque stderr

metadata

Lit les métadonnées d'un checkpoint sans construire de modèle, et les valide contre le schéma de checkpoint LibreYOLO.

bash
libreyolo metadata path=<checkpoint.pt>
ArgumentDéfautSignification
pathChemin vers un checkpoint .pt. Obligatoire
jsonfalseSortie JSON sur stdout
quietfalseMasque stderr

Les entrées volumineuses qui portent des tenseurs sont résumées plutôt qu'affichées, pour que la sortie reste lisible sur un checkpoint d'entraînement complet. Un checkpoint qui n'existe pas se termine sur checkpoint_not_found, et un checkpoint dont les métadonnées échouent à la validation affiche les erreurs et se termine sur 1.

enroll

Construit une galerie de visages à partir d'une arborescence d'un dossier par personne, pour que les prédictions ultérieures puissent nommer les visages qu'elles trouvent.

bash
libreyolo enroll model=<embedder> source=<people-dir> gallery=<gallery.npz>
ArgumentDéfautSignification
modelModèle d'embedding de visages, chemin ou nom. Obligatoire
sourceArborescence d'un dossier par personne, source/<identity>/*.jpg. Obligatoire
galleryFichier de galerie .npz en sortie. Complété sur place s'il existe déjà. Obligatoire
face_detectorDétecteur de visages : un .onnx YuNet ou un détecteur LibreYOLO. Le détecteur par défaut de la famille si non défini
deviceautoPériphérique : 0, cpu, mps, auto
jsonfalseSortie JSON sur stdout
quietfalseMasque stderr
bash
# people/ contient un dossier par identité, dont le nom devient l'identité.
libreyolo enroll model=librefacerec-l.onnx source=people/ gallery=people.npz

Le nom du sous-dossier est l'identité. Une image de référence sans visage détectable est ignorée avec une ligne sur stderr et les autres continuent ; une source sans sous-dossier d'identité, ou dans laquelle aucun visage n'a été trouvé, est une erreur.

Passez le fichier obtenu à libreyolo predict sous la forme gallery=people.npz pour que les détections portent une identité et un score de correspondance.

compare

Rapporte la similarité cosinus entre deux images de visage et indique si elle franchit le seuil de même identité.

bash
libreyolo compare model=<embedder> source=<a.jpg> source2=<b.jpg>
ArgumentDéfautSignification
modelModèle d'embedding de visages, chemin ou nom. Obligatoire
sourcePremière image. Obligatoire
source2Seconde image, à comparer à la première. Obligatoire
face_detectorDétecteur de visages : un .onnx YuNet ou un détecteur LibreYOLO
threshold0.4Seuil de similarité cosinus pour la décision de même identité
deviceautoPériphérique : 0, cpu, mps, auto
jsonfalseSortie JSON sur stdout
quietfalseMasque stderr
bash
libreyolo compare model=librefacerec-l.onnx source=a.jpg source2=b.jpg

libreyolo verify est enregistré comme second nom de cette commande et prend les mêmes arguments.

compare comme enroll ont besoin d'un modèle dont la tâche est l'embedding de visages. Tout le reste se termine sur config_unsupported. Les chemins d'images locaux et les URL http ou https sont acceptés comme sources.

Exemples

Environnement
libreyolo versionlibreyolo checks
Ce qui est disponible
libreyolo modelslibreyolo formats family=yolo9 task=detect
Inspecter un checkpoint
libreyolo info model=LibreYOLO9s.ptlibreyolo metadata path=weights/LibreYOLO9s.pt

Notes

stdout porte le résultat ; la progression et les avertissements vont sur stderr. json=true affiche un seul objet avec schema_version, et c'est la forme à lire depuis un script. La sortie texte est celle par défaut, destinée à être lue par une personne.

Les codes de sortie suivent la même table que le reste du CLI : 0 en cas de succès, 2 pour une erreur d'utilisation ou de configuration, 3 quand une source est introuvable, 4 quand un modèle ou un checkpoint ne peut pas être chargé, et 1 pour les autres échecs à l'exécution.

À voir aussi : libreyolo doctor, la commande d'inspection côté dataset, et libreyolo profile, celle côté performance.

Vérifié avec LibreYOLO v1.5.0.