Installer

LibreYOLO est publié sur PyPI sous le nom libreyolo. Le paquet de base couvre la prédiction, l'entraînement, la validation et les familles de modèles qui n'ont besoin de rien d'autre que PyTorch. Les extras facultatifs ajoutent le reste.

Paquet
libreyolo
Python
3.10 ou version ultérieure
Licence du code
MIT
Dépendance principale
PyTorch 2.4 ou version ultérieure

Installer

pip
pip install libreyolo
Avec des extras
# Séparez les extras par des virgules pour les combiner dans une installation.pip install "libreyolo[rfdetr,onnx]"
Tout installer
pip install "libreyolo[all]"
Depuis les sources
git clone https://github.com/LibreYOLO/libreyolo.gitcd libreyolopip install -e .

Python 3.10 ou une version ultérieure est requis. L'installation de base récupère PyTorch, torchvision, NumPy, Pillow, OpenCV, PyYAML, requests, mss, tqdm, pycocotools, typer, click, safetensors et SciPy. YOLOv9 et les autres familles qui ne demandent rien de plus fonctionnent donc immédiatement après pip install libreyolo.

Un clone récupère release, la branche stable dont le code correspond à cette documentation. La branche d'intégration, qui contient les travaux non publiés, est dev.

Extras facultatifs

Un extra est un nom entre crochets qui ajoute les dépendances nécessaires à une famille de modèles ou à une cible d'exportation. Rien d'autre ne change : l'API reste identique, que l'extra soit présent ou non.

Familles de modèles

ExtraAjouts
rfdetrtransformers, qui fournit le backbone de RF-DETR
eomttransformers
midastimm 1.0.x, qui fournit les encodeurs ViT-L/16 et EfficientNet-Lite3 de MiDaS
vlmtransformers, num2words, decord, lmdb, peft
samtransformers, timm
openvocabtransformers, timm, regex, ftfy
sensenovatransformers, accelerate et bitsandbytes hors macOS
modustransformers, accelerate
clipregex et ftfy, nécessaires au tokenizer de texte CLIP intégré
siglip2sentencepiece, nécessaire au tokenizer multilingue SigLIP 2
gazegdown, qui active le téléchargement automatique du checkpoint L2CS
rtdetrRien. RT-DETR n'a besoin d'aucune dépendance supplémentaire. Le nom reste stable

Exportation et environnements d'exécution

ExtraAjouts
onnxonnx, onnxsim, onnxruntime
tensorrttensorrt-cu12 10.16.1.11 et pycuda, hors macOS
openvinoopenvino
coremlcoremltools
coreaicoreai-torch, macOS uniquement
tflite, alias litertlibreyolo[onnx] avec onnx2tf, ai-edge-litert, onnx-graphsurgeon et onnx-simplifier
mnnlibreyolo[onnx] avec MNN
ncnnpnnx et ncnn
paddlelibreyolo[onnx] avec paddlepaddle 2.6.2 et x2paddle 1.6.0
executorchexecutorch
tritontritonclient[http] pour l'inférence V2 par HTTP et HTTPS

Entraînement, évaluation et journalisation

ExtraAjouts
loralibreyolo[rfdetr] avec peft, pour le fine-tuning avec lora=True
plotsmatplotlib
fast-evalfaster-coco-eval, le backend C++ d'évaluation COCO
tensorboardtensorboard
mlflowmlflow
wandbwandb
cometcomet-ml
clearmlclearml
neptuneneptune-scale
dvclive, alias dvcdvclive

fast-eval est facultatif plutôt qu'une dépendance obligatoire, afin qu'une plateforme dépourvue de wheel précompilée ne puisse pas empêcher une installation simple. En l'absence du paquet, l'évaluation COCO revient à pycocotools et l'exécution se poursuit.

Outils

ExtraAjouts
streamyt-dlp, nécessaire uniquement pour résoudre les URL de pages YouTube
trackingRien. Toutes les dépendances de suivi sont déjà des dépendances principales
labellibreyolo[sam], qui active l'aide clic-vers-masque dans libreyolo label
hub-kernelskernels, le chargeur facultatif de kernels Hub compilés. Consultez la page sur les kernels, qui précise que son installation peut modifier les prédictions RF-DETR dans les limites de tolérance des nombres flottants
clip-convertlibreyolo[clip] avec open_clip_torch, pour la conversion des poids et les vérifications de parité
siglip2-convertlibreyolo[siglip2] avec transformers, pour la même raison

Les webcams, RTSP, RTMP, TCP, UDP, HLS et les listes locales de plusieurs flux ne nécessitent aucun extra. Seules les URL de pages YouTube en ont besoin.

Extra global

libreyolo[all] installe en une seule commande les extras de modèles, d'exportation, de suivi et de journalisation. Certains en sont volontairement exclus. neptune ne figure pas dans cet ensemble, car la version stable de neptune-scale exige une version de protobuf antérieure à 7, tandis que le parcours TFLite exige protobuf 7. executorch est exclu parce qu'ExecuTorch impose les versions de PyTorch avec lesquelles il fonctionne, et coreai parce que coreai-torch fixe PyTorch à la série 2.11.x et ferait migrer tout l'environnement vers cette version. fast-eval, hub-kernels, clip-convert et siglip2-convert sont également laissés de côté. Installez chacun d'eux par son nom.

Contraintes des plateformes

Trois extras sont limités à certaines plateformes par les marqueurs de leurs dépendances. L'installation réussit donc partout et installe simplement moins de composants lorsqu'aucune wheel n'existe.

ExtraContrainte
coreaimacOS uniquement. La chaîne d'outils Core AI ne convertit ni ne s'exécute ailleurs
tensorrtIgnoré sur macOS, qui ne dispose pas de CUDA
tflite, litertonnx2tf et ai-edge-litert nécessitent Python 3.12 ou une version ultérieure

sensenova ignore bitsandbytes sur macOS, où aucune wheel n'est publiée. Le reste de l'extra s'installe normalement.

Si l'espace disque est la contrainte, PyTorch en occupe la majeure partie, et l'essentiel de PyTorch provient de la charge utile CUDA incluse dans sa wheel par défaut. Une wheel limitée au CPU la supprime sans rien sacrifier. Pour exécuter une détection ONNX sur une machine qui ne doit contenir aucune installation de torch, consultez l'installation légère.

GPU et CUDA

Le périphérique est sélectionné lors de la construction du modèle. La valeur par défaut, device="auto", utilise CUDA lorsque torch.cuda.is_available() vaut true, puis Metal Performance Shaders lorsque torch.backends.mps.is_available() vaut true, et le CPU dans les autres cas. Rien d'autre dans la bibliothèque n'inspecte le matériel. Si PyTorch ne détecte pas un GPU, LibreYOLO ne le peut pas non plus.

Pour imposer le périphérique, transmettez device au modèle ou à predict, train, val et export. Il accepte "cpu", "cuda", "cuda:0", "mps", un entier seul tel que 0 ou une chaîne de chiffres telle que "0". Les deux dernières formes sont développées en cuda:<n>.

Commencez par libreyolo checks. Cette commande affiche la version de Torch, les versions de CUDA et de cuDNN avec lesquelles Torch a été construit, ainsi que chaque GPU visible et sa mémoire. Si elle n'indique aucun CUDA sur une machine équipée d'une carte NVIDIA, la wheel PyTorch choisie par pip est une version CPU. Installez d'abord une version CUDA depuis l'index PyTorch, puis LibreYOLO :

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

Il s'agit du même index que celui fixé par le dépôt pour son propre environnement géré par uv sous Linux et Windows. Il nécessite le pilote NVIDIA 555 ou une version ultérieure, conformément aux exigences de l'environnement d'exécution CUDA 12.8. macOS conserve la wheel PyPI, car l'hôte de téléchargement PyTorch ne publie aucune version Darwin.

Vérifier l'installation

CLI
# Python, Torch, CUDA, cuDNN, chaque GPU visible et les paquets# facultatifs installés.libreyolo checks
Python
import libreyolo print(libreyolo.__version__)
Inventaire des modèles
# Chaque famille enregistrée avec ses tâches, ses tailles et ses# résolutions d'entrée. Les familles dont l'extra manque sont# accompagnées de la commande pip qui les active.libreyolo models

libreyolo models est le moyen le plus rapide de vérifier qu'un extra a pris effet : une famille dont la dépendance manque est affichée avec la commande pip exacte qui l'active. Les deux commandes acceptent également --json, qui affiche les mêmes données sur stdout sous forme d'objet lisible par une machine.

Vérifié avec LibreYOLO v1.5.0.