libreyolo label

Démarre un outil web local pour dessiner et modifier des bounding boxes. Il écrit des fichiers d'étiquettes au format natif de LibreYOLO, donc un dataset annoté ici s'entraîne sans aucune étape de conversion.

Commande
libreyolo label
Sortie
Une URL de serveur sur stdout ; les étiquettes sont écrites dans labels/*.txt à côté des images

Synopsis

bash
libreyolo label [data=<dataset.yaml|folder>] [key=value ...]

Les arguments sont des paires key=value, et la forme POSIX fonctionne aussi, donc port=9200 et --port 9200 sont le même argument.

Arguments

ArgumentValeur par défautSignification
dataYAML ou dossier du dataset à ouvrir directement. Démarre sur l'accueil du projet si non renseigné
host127.0.0.1Hôte ou interface sur lequel faire le binding
port8000Port sur lequel faire le binding. Passe au suivant libre s'il est occupé
deviceautoAppareil pour l'auto-étiquetage IA : 0, cpu, mps, auto
no_assistfalseDésactive l'auto-étiquetage IA, ne laissant qu'un étiqueteur manuel
no_browserfalseNe pas ouvrir automatiquement le navigateur
sharefalseFait le binding sur 0.0.0.0 pour que vos collègues sur votre réseau puissent se connecter
jsonfalseSortie JSON sur stdout
quietfalseSupprime stderr
verbosefalseSortie stderr détaillée

Exemples

Base
# Ouvre l'accueil du projet ; choisissez ou créez un dataset ensuite.libreyolo label
Manuel uniquement, port fixe
libreyolo label no_assist=true port=9200 no_browser=true
Laisser vos collègues se connecter
libreyolo label share=true

Notes

Ce qu'il écrit

Les bounding boxes sont enregistrées dans des fichiers labels/*.txt au format natif de LibreYOLO, celui que lit libreyolo train, donc il n'y a rien à convertir ensuite. Cette version ne gère que les bounding boxes. Les modifications sont enregistrées au fur et à mesure que vous passez d'une image à l'autre.

Ouvrir un dataset

Sans data, l'outil démarre sur l'accueil du projet et le dataset se choisit ou se crée depuis le navigateur. Passer data=path/to/data.yaml ouvre ce dataset directement, et la ligne de démarrage indique le nombre d'images, le nombre de classes et si le dataset est accessible en écriture. Un dataset en lecture seule s'ouvre quand même et explique pourquoi il ne peut pas être écrit.

Le partage, et ce que fait host

share=true fait le binding sur l'adresse joker, ce qui permet aux autres machines de votre réseau d'atteindre l'outil, tandis que les actions administratives (changer ou supprimer des projets et lancer des calculs) restent sur cette machine.

Définir host sur une interface précise fait quelque chose de différent et de moins sûr : l'hôte devient indiscernable d'un client réseau, donc chaque client obtient les droits administratifs. La commande affiche un avertissement sur stderr quand vous le faites. Préférez share=true.

Ports et arrêt

Un port occupé passe au suivant, jusqu'à vingt au-delà de celui demandé. Si les vingt échouent, la commande se termine avec io_error. L'URL affichée sur stdout correspond au port réellement utilisé. Avec share=true, le résultat contient aussi lan_url, l'adresse que vos collègues doivent ouvrir.

La commande sert au premier plan jusqu'à Ctrl+C.

Voir aussi : libreyolo doctor pour vérifier le dataset étiqueté avant l'entraînement, et libreyolo train pour l'entraîner dessus.

Vérifié avec LibreYOLO v1.5.0.