Installazione

LibreYOLO è pubblicato su PyPI come libreyolo. Il pacchetto base copre predizione, addestramento, validazione e le famiglie di modelli che non richiedono nulla oltre a PyTorch; gli extra opzionali aggiungono il resto.

Pacchetto
libreyolo
Python
3.10 o superiore
Licenza del codice
MIT
Dipendenza principale
PyTorch 2.4 o superiore

Installazione

pip
pip install libreyolo
Con extra
# Usa la virgola per combinarne più di uno in una sola installazione.pip install "libreyolo[rfdetr,onnx]"
Tutto
pip install "libreyolo[all]"
Dal codice sorgente
git clone https://github.com/LibreYOLO/libreyolo.gitcd libreyolopip install -e .

È richiesto Python 3.10 o superiore. L'installazione base porta con sé PyTorch, torchvision, NumPy, Pillow, OpenCV, PyYAML, requests, mss, tqdm, pycocotools, typer, click, safetensors e SciPy, così YOLOv9 e le altre famiglie che non richiedono altro funzionano subito dopo pip install libreyolo.

Un clone fa il checkout di release, il branch stabile il cui codice corrisponde a questa documentazione. Il branch di integrazione, che contiene il lavoro non ancora rilasciato, è dev.

Extra opzionali

Un extra è un nome tra parentesi quadre che aggiunge le dipendenze richieste da una famiglia di modelli o da un target di esportazione. Non cambia nient'altro: l'API è la stessa con o senza l'extra.

Famiglie di modelli

ExtraAggiunge
rfdetrtransformers, che fornisce il backbone di RF-DETR
eomttransformers
midastimm 1.0.x, che fornisce gli encoder ViT-L/16 e EfficientNet-Lite3 di MiDaS
vlmtransformers, num2words, decord, lmdb, peft
samtransformers, timm
openvocabtransformers, timm, regex, ftfy
sensenovatransformers, accelerate e bitsandbytes tranne su macOS
modustransformers, accelerate
clipregex e ftfy, necessari al tokenizer di testo CLIP incluso nella libreria
siglip2sentencepiece, necessario al tokenizer multilingue di SigLIP 2
gazegdown, che attiva il download automatico del checkpoint L2CS
rtdetrNiente. RT-DETR non ha bisogno di dipendenze extra; il nome viene mantenuto per stabilità

Esportazione e runtime

ExtraAggiunge
onnxonnx, onnxsim, onnxruntime
tensorrttensorrt-cu12 10.16.1.11 e pycuda, tranne su macOS
openvinoopenvino
coremlcoremltools
coreaicoreai-torch, solo macOS
tflite, alias litertlibreyolo[onnx] più onnx2tf, ai-edge-litert, onnx-graphsurgeon e onnx-simplifier
mnnlibreyolo[onnx] più MNN
ncnnpnnx e ncnn
paddlelibreyolo[onnx] più paddlepaddle 2.6.2 e x2paddle 1.6.0
executorchexecutorch
tritontritonclient[http] per l'inferenza V2 su HTTP e HTTPS

Addestramento, valutazione e logging

ExtraAggiunge
loralibreyolo[rfdetr] più peft, per il fine-tuning con lora=True
plotsmatplotlib
fast-evalfaster-coco-eval, il backend C++ per la valutazione COCO
tensorboardtensorboard
mlflowmlflow
wandbwandb
cometcomet-ml
clearmlclearml
neptuneneptune-scale
dvclive, alias dvcdvclive

fast-eval è opzionale invece che una dipendenza obbligatoria, così una piattaforma senza wheel precompilata non può far fallire un'installazione semplice. Quando il pacchetto manca, la valutazione COCO ripiega su pycocotools e l'esecuzione continua.

Strumenti

ExtraAggiunge
streamyt-dlp, necessario solo per risolvere gli URL delle pagine di YouTube
trackingNiente. Ogni dipendenza del tracking è già una dipendenza principale
labellibreyolo[sam], che abilita l'assistenza click-to-mask in libreyolo label
hub-kernelskernels, il loader opzionale per i kernel compilati dell'Hub. Vedi kernels, dove si segnala che installarlo può spostare le predizioni di RF-DETR entro la tolleranza float
clip-convertlibreyolo[clip] più open_clip_torch, per la conversione dei pesi e i controlli di parità
siglip2-convertlibreyolo[siglip2] più transformers, per lo stesso motivo

Le webcam, RTSP, RTMP, TCP, UDP, HLS e le liste multi-stream locali non richiedono alcun extra. Solo gli URL delle pagine di YouTube ne hanno bisogno.

L'extra aggregato

libreyolo[all] installa in un solo comando gli extra dei modelli, dell'esportazione, del tracking e del logging. Alcuni ne restano deliberatamente fuori. neptune è escluso perché la versione stabile di neptune-scale richiede protobuf sotto la 7 mentre il percorso TFLite richiede protobuf 7. executorch è escluso perché ExecuTorch vincola la versione di PyTorch con cui si accoppia, e coreai perché coreai-torch fissa PyTorch a 2.11.x e trascinerebbe l'intero ambiente su quella versione. Anche fast-eval, hub-kernels, clip-convert e siglip2-convert restano fuori. Installa uno qualsiasi di questi indicandolo per nome.

Vincoli di piattaforma

Tre extra sono limitati per piattaforma dai loro marker di dipendenza, così l'installazione riesce ovunque e installa semplicemente meno dove una wheel non esiste.

ExtraVincolo
coreaiSolo macOS. La toolchain di Core AI non converte né esegue altrove
tensorrtSaltato su macOS, che non ha CUDA
tflite, litertonnx2tf e ai-edge-litert richiedono Python 3.12 o superiore

sensenova salta bitsandbytes su macOS, dove non viene pubblicata alcuna wheel; il resto dell'extra si installa normalmente.

Se il vincolo è il disco, la maggior parte è PyTorch, e la maggior parte di PyTorch è il payload CUDA che la sua wheel predefinita include. Una wheel solo CPU lo elimina senza rinunciare a nulla. Per il rilevamento con ONNX su una macchina che non deve portarsi dietro torch, vedi l'installazione leggera.

GPU e CUDA

La selezione del dispositivo avviene quando il modello viene costruito. Il valore predefinito, device="auto", usa CUDA quando torch.cuda.is_available() è vero, poi Metal Performance Shaders quando torch.backends.mps.is_available() è vero, e altrimenti la CPU. Nient'altro nella libreria ispeziona l'hardware, quindi se PyTorch non vede una GPU, non la vede nemmeno LibreYOLO.

Per fissare invece il dispositivo, passa device al modello oppure a predict, train, val ed export. Accetta "cpu", "cuda", "cuda:0", "mps", un semplice intero come 0, o una stringa di cifre come "0"; gli ultimi due vengono espansi in cuda:<n>.

Parti da libreyolo checks, che stampa la versione di Torch, le versioni di CUDA e cuDNN con cui Torch è stato compilato, e ogni GPU visibile con la sua memoria. Quando segnala che non c'è CUDA su una macchina che ha una scheda NVIDIA, la wheel di PyTorch risolta da pip è una build per CPU. Installa prima una build con CUDA dall'indice di PyTorch, poi installa LibreYOLO:

bash
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu128
pip install libreyolo

È lo stesso indice che il repository fissa per il proprio ambiente gestito con uv su Linux e Windows. Richiede il driver NVIDIA 555 o superiore, che è il requisito del runtime CUDA 12.8. macOS resta sulla wheel di PyPI, dato che l'host di download di PyTorch non pubblica build per Darwin.

Verificare l'installazione

CLI
# Python, Torch, CUDA, cuDNN, ogni GPU visibile e quali# pacchetti opzionali sono installati.libreyolo checks
Python
import libreyolo print(libreyolo.__version__)
Inventario dei modelli
# Ogni famiglia registrata con i suoi task, le dimensioni e le# risoluzioni di input. Le famiglie a cui manca l'extra sono# elencate con il comando pip che le abilita.libreyolo models

libreyolo models è il modo più rapido per vedere se un extra ha avuto effetto: una famiglia a cui manca la dipendenza viene stampata con il comando pip esatto che la abilita. Entrambi i comandi accettano anche --json, che stampa gli stessi dati come oggetto leggibile da una macchina su stdout.

Verificato con LibreYOLO v1.5.0.