utility di libreyolo

Nove comandi che riportano o ispezionano invece di calcolare. Stampano i dati dell'ambiente, l'inventario di modelli e formati, i valori predefiniti già risolti e i dettagli di un checkpoint, e costruiscono e interrogano una galleria di volti.

Comandi
version, checks, models, formats, cfg, info, metadata, enroll, compare
Output
stdout, in testo oppure con json=true come un unico oggetto che porta schema_version

Sinossi

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

Gli argomenti sono coppie key=value, e funziona anche la forma POSIX, quindi model=x e --model x sono lo stesso argomento. Tutti i comandi di questa pagina scrivono i risultati su stdout e accettano json=true e quiet=true.

Il comando radice porta un flag proprio, libreyolo --version, che stampa la stringa di versione ed esce. È un output più piccolo di quello del comando version qui sotto.

version

Stampa la versione di LibreYOLO più le versioni di Python, torch e CUDA con cui sta girando.

bash
libreyolo version
ArgomentoPredefinitoSignificato
jsonfalseOutput JSON su stdout
quietfalseSilenzia stderr

checks

Stampa l'ambiente in modo più dettagliato: Python, torch, CUDA, cuDNN, ogni GPU rilevata con il suo nome e la sua memoria, e la versione installata di ogni pacchetto opzionale usato dai percorsi di esportazione.

bash
libreyolo checks
ArgomentoPredefinitoSignificato
jsonfalseOutput JSON su stdout
quietfalseSilenzia stderr

L'elenco dei pacchetti copre onnx, onnxruntime, tensorrt, openvino, paddlepaddle, x2paddle, mnn, ncnn, onnx2tf, ai-edge-litert, transformers e scipy. Un pacchetto che non è installato viene segnalato come tale invece di essere omesso, così un'esportazione fallita si può ricondurre a una dipendenza mancante con questo unico comando.

models

Elenca ogni famiglia di modelli con i suoi task, le sue dimensioni, i nomi CLI che risolvono ai suoi checkpoint e la risoluzione di input di ogni dimensione.

bash
libreyolo models
ArgomentoPredefinitoSignificato
jsonfalseOutput JSON su stdout
quietfalseSilenzia stderr

Una famiglia la cui dipendenza opzionale non è installata compare come non disponibile insieme alla riga pip install che la renderebbe disponibile. I nomi CLI sono ciò che model= accetta come forma abbreviata: yolox-s risolve a LibreYOLOXs.pt, e i task che non sono di rilevamento portano il suffisso del loro task.

formats

Elenca i formati di esportazione che l'ambiente installato è in grado di produrre, con l'estensione di file di ogni formato e se supporta FP16 e INT8.

bash
libreyolo formats [family=<family>] [task=<task>]
ArgomentoPredefinitoSignificato
familyMostra i livelli di supporto per una famiglia di modelli. model= è accettato come la stessa opzione
taskTask canonico del modello. Il task predefinito della famiglia se non indicato
jsonfalseOutput JSON su stdout
quietfalseSilenzia stderr

Senza family, l'output è il solo inventario dei formati. Con esso, ogni formato guadagna il livello di supporto per quella famiglia e quel task, il motivo dietro al livello e ogni vincolo associato. Una famiglia sconosciuta, o un task che la famiglia non supporta, è un errore d'uso.

Gli alias di formato compaiono accanto al loro nome canonico: engine per tensorrt, litert per tflite.

cfg

Stampa la configurazione predefinita già risolta: i valori predefiniti di addestramento, quelli di validazione, quelli di predizione e gli override per famiglia.

bash
libreyolo cfg
ArgomentoPredefinitoSignificato
jsonfalseOutput JSON su stdout
quietfalseSilenzia stderr

I valori si leggono dalle dataclass di configurazione, non da una copia, quindi questa è l'autorità su ciò che userà un addestramento quando non passi un argomento. family_overrides è la sezione che risponde al perché una famiglia si è addestrata con impostazioni che non hai chiesto. Vedi libreyolo train per come vengono applicati quegli override.

info

Carica un modello sulla CPU e riporta la sua famiglia, la sua dimensione, il suo numero di parametri, le sue classi e il livello di supporto all'esportazione per ogni formato.

bash
libreyolo info model=<name|path>
ArgomentoPredefinitoSignificato
modelNome del modello o percorso dei pesi. Obbligatorio
detailedfalseInclude i dettagli per parametro
jsonfalseOutput JSON su stdout
quietfalseSilenzia stderr

metadata

Legge i metadati di un checkpoint senza costruire un modello, e li valida rispetto allo schema dei checkpoint di LibreYOLO.

bash
libreyolo metadata path=<checkpoint.pt>
ArgomentoPredefinitoSignificato
pathPercorso di un checkpoint .pt. Obbligatorio
jsonfalseOutput JSON su stdout
quietfalseSilenzia stderr

Le voci grandi che portano tensori vengono riassunte invece che stampate, così l'output resta leggibile su un checkpoint completo di addestramento. Un checkpoint che non esiste esce con checkpoint_not_found, e uno i cui metadati non passano la validazione stampa gli errori ed esce con 1.

enroll

Costruisce una galleria di volti a partire da un albero con una cartella per persona, così che le predizioni successive possano dare un nome ai volti che trovano.

bash
libreyolo enroll model=<embedder> source=<people-dir> gallery=<gallery.npz>
ArgomentoPredefinitoSignificato
modelModello di embedding dei volti, percorso o nome. Obbligatorio
sourceAlbero con una cartella per persona, source/<identity>/*.jpg. Obbligatorio
galleryFile .npz della galleria di output. Viene esteso sul posto se esiste già. Obbligatorio
face_detectorRilevatore di volti: un .onnx di YuNet o un rilevatore LibreYOLO. Il rilevatore predefinito della famiglia se non indicato
deviceautoDispositivo: 0, cpu, mps, auto
jsonfalseOutput JSON su stdout
quietfalseSilenzia stderr
bash
# people/ contiene una cartella per identità; il nome della cartella diventa l'identità.
libreyolo enroll model=librefacerec-l.onnx source=people/ gallery=people.npz

Il nome della sottocartella è l'identità. Un'immagine di riferimento senza alcun volto rilevabile viene saltata con una riga su stderr e le altre proseguono; una sorgente senza sottocartelle di identità, o una in cui non è stato trovato nessun volto, è un errore.

Passa il file risultante a libreyolo predict come gallery=people.npz per fare in modo che i rilevamenti portino un'identità e un punteggio di corrispondenza.

compare

Riporta la similarità coseno tra due immagini di volti e se supera la soglia di stessa identità.

bash
libreyolo compare model=<embedder> source=<a.jpg> source2=<b.jpg>
ArgomentoPredefinitoSignificato
modelModello di embedding dei volti, percorso o nome. Obbligatorio
sourcePrima immagine. Obbligatorio
source2Seconda immagine con cui confrontare. Obbligatorio
face_detectorRilevatore di volti: un .onnx di YuNet o un rilevatore LibreYOLO
threshold0.4Soglia di similarità coseno per la decisione di stessa identità
deviceautoDispositivo: 0, cpu, mps, auto
jsonfalseOutput JSON su stdout
quietfalseSilenzia stderr
bash
libreyolo compare model=librefacerec-l.onnx source=a.jpg source2=b.jpg

libreyolo verify è registrato come secondo nome di questo comando e prende gli stessi argomenti.

Sia compare sia enroll hanno bisogno di un modello il cui task sia l'embedding dei volti. Qualsiasi altra cosa esce con config_unsupported. Come sorgenti sono accettati sia i percorsi locali delle immagini sia gli URL http o https.

Esempi

Ambiente
libreyolo versionlibreyolo checks
Cosa è disponibile
libreyolo modelslibreyolo formats family=yolo9 task=detect
Ispezionare un checkpoint
libreyolo info model=LibreYOLO9s.ptlibreyolo metadata path=weights/LibreYOLO9s.pt

Note

stdout porta il risultato; l'avanzamento e gli avvisi vanno su stderr. json=true stampa un unico oggetto con schema_version, che è la forma da leggere da uno script. L'output in testo è quello predefinito ed è pensato per essere letto da una persona.

I codici di uscita seguono la stessa mappa del resto della CLI: 0 se va tutto bene, 2 per un errore d'uso o di configurazione, 3 quando una sorgente non si trova, 4 quando un modello o un checkpoint non si può caricare, e 1 per gli altri fallimenti a runtime.

Correlati: libreyolo doctor, che è il comando di ispezione dal lato dataset, e libreyolo profile, quello dal lato prestazioni.

Verificato con LibreYOLO v1.5.0.