Instalacja

LibreYOLO jest publikowane w PyPI jako libreyolo. Pakiet bazowy obejmuje predykcję, trenowanie, walidację i rodziny modeli, które nie wymagają niczego poza PyTorch. Opcjonalne dodatki zapewniają pozostałe funkcje.

Pakiet
libreyolo
Python
3.10 lub nowszy
Licencja kodu
MIT
Główna zależność
PyTorch 2.4 lub nowszy

Instalacja

pip
pip install libreyolo
Z dodatkami
# Aby połączyć kilka dodatków w jednej instalacji, rozdziel je przecinkami.pip install "libreyolo[rfdetr,onnx]"
Wszystko
pip install "libreyolo[all]"
Ze źródeł
git clone https://github.com/LibreYOLO/libreyolo.gitcd libreyolopip install -e .

Wymagany jest Python 3.10 lub nowszy. Instalacja bazowa pobiera PyTorch, torchvision, NumPy, Pillow, OpenCV, PyYAML, requests, mss, tqdm, pycocotools, typer, click, safetensors i SciPy. Dlatego YOLOv9 oraz inne rodziny, które nie potrzebują niczego więcej, działają od razu po pip install libreyolo.

Klonowanie wybiera release, stabilną gałąź, której kod odpowiada tej dokumentacji. Gałąź integracyjna zawierająca niewydane zmiany to dev.

Opcjonalne dodatki

Dodatek jest nazwą w nawiasach kwadratowych, która instaluje zależności wymagane przez jedną rodzinę modeli lub jeden cel eksportu. Nic innego się nie zmienia: API jest takie samo niezależnie od obecności dodatku.

Rodziny modeli

DodatekDodaje
rfdetrtransformers, dostarczające backbone RF-DETR
eomttransformers
midastimm 1.0.x, dostarczające enkodery ViT-L/16 i EfficientNet-Lite3 dla MiDaS
vlmtransformers, num2words, decord, lmdb, peft
samtransformers, timm
openvocabtransformers, timm, regex, ftfy
sensenovatransformers, accelerate oraz bitsandbytes poza macOS
modustransformers, accelerate
clipregex i ftfy, wymagane przez dołączony tokenizer tekstowy CLIP
siglip2sentencepiece, wymagane przez wielojęzyczny tokenizer SigLIP 2
gazegdown, włączające automatyczne pobieranie checkpointu L2CS
rtdetrNic. RT-DETR nie wymaga dodatkowej zależności, ale nazwa pozostaje stabilna

Eksport i środowiska uruchomieniowe

DodatekDodaje
onnxonnx, onnxsim, onnxruntime
tensorrttensorrt-cu12 10.16.1.11 i pycuda, poza macOS
openvinoopenvino
coremlcoremltools
coreaicoreai-torch, tylko macOS
tflite, alias litertlibreyolo[onnx] oraz onnx2tf, ai-edge-litert, onnx-graphsurgeon i onnx-simplifier
mnnlibreyolo[onnx] oraz MNN
ncnnpnnx i ncnn
paddlelibreyolo[onnx] oraz paddlepaddle 2.6.2 i x2paddle 1.6.0
executorchexecutorch
tritontritonclient[http] do inferencji V2 przez HTTP i HTTPS

Trenowanie, ewaluacja i rejestrowanie

DodatekDodaje
loralibreyolo[rfdetr] oraz peft do dostrajania z lora=True
plotsmatplotlib
fast-evalfaster-coco-eval, backend ewaluacji COCO w C++
tensorboardtensorboard
mlflowmlflow
wandbwandb
cometcomet-ml
clearmlclearml
neptuneneptune-scale
dvclive, alias dvcdvclive

fast-eval wymaga jawnego włączenia zamiast być twardą zależnością, aby brak gotowego pakietu dla platformy nie mógł zepsuć zwykłej instalacji. Gdy pakietu nie ma, ewaluacja COCO przechodzi na pycocotools i przebieg jest kontynuowany.

Narzędzia

DodatekDodaje
streamyt-dlp, wymagane tylko do rozwiązywania adresów stron YouTube
trackingNic. Każda zależność śledzenia jest już zależnością bazową
labellibreyolo[sam], włączające wspomaganie click-to-mask w libreyolo label
hub-kernelskernels, opcjonalny loader skompilowanych kerneli Hub. Zobacz stronę kerneli, która informuje, że instalacja może zmienić predykcje RF-DETR w granicach tolerancji zmiennoprzecinkowej
clip-convertlibreyolo[clip] oraz open_clip_torch do konwersji wag i kontroli zgodności
siglip2-convertlibreyolo[siglip2] oraz transformers z tego samego powodu

Kamery internetowe, RTSP, RTMP, TCP, UDP, HLS i lokalne listy wielu strumieni nie wymagają dodatku. Potrzebują go tylko adresy stron YouTube.

Dodatek zbiorczy

libreyolo[all] instaluje dodatki modeli, eksportu, śledzenia i rejestrowania jednym poleceniem. Niektóre są celowo wyłączone. neptune jest wykluczone, ponieważ stabilne neptune-scale wymaga protobuf poniżej 7, natomiast ścieżka TFLite wymaga protobuf 7. executorch jest wykluczone, ponieważ ExecuTorch ogranicza zgodne wersje PyTorch, a coreai, ponieważ coreai-torch przypina PyTorch do 2.11.x i przeniosłoby całe środowisko na tę wersję. fast-eval, hub-kernels, clip-convert i siglip2-convert również są pominięte. Każdy z nich należy zainstalować według nazwy.

Ograniczenia platform

Trzy dodatki są ograniczone do platformy przez znaczniki zależności, dzięki czemu instalacja powiedzie się wszędzie i po prostu zainstaluje mniej tam, gdzie pakiet nie istnieje.

DodatekOgraniczenie
coreaiTylko macOS. Zestaw narzędzi Core AI nie konwertuje ani nie działa nigdzie indziej
tensorrtPomijane w macOS, który nie ma CUDA
tflite, litertonnx2tf i ai-edge-litert wymagają Pythona 3.12 lub nowszego

sensenova pomija bitsandbytes w macOS, dla którego nie opublikowano pakietu. Pozostała część dodatku instaluje się normalnie.

Jeśli ograniczeniem jest miejsce na dysku, większość zajmuje PyTorch, a większą część PyTorch stanowią dane CUDA dołączone do domyślnego pakietu. Pakiet tylko dla CPU usuwa je bez rezygnowania z innych funkcji. Informacje o detekcji ONNX na maszynie, która w ogóle nie powinna zawierać torch, znajdują się na stronie lekkiej instalacji.

GPU i CUDA

Wybór urządzenia następuje podczas tworzenia modelu. Domyślne device="auto" używa CUDA, gdy torch.cuda.is_available() ma wartość true, następnie Metal Performance Shaders, gdy torch.backends.mps.is_available() ma wartość true, a w przeciwnym razie CPU. Nic innego w bibliotece nie sprawdza sprzętu, więc jeśli PyTorch nie widzi GPU, LibreYOLO również go nie zobaczy.

Aby przypiąć urządzenie, przekaż device do modelu albo do predict, train, val i export. Akceptowane są "cpu", "cuda", "cuda:0", "mps", sama liczba całkowita, taka jak 0, oraz ciąg cyfr, taki jak "0". Dwie ostatnie formy są rozwijane do cuda:<n>.

Zacznij od libreyolo checks, które wyświetla wersję Torch, wersje CUDA i cuDNN, z którymi zbudowano Torch, oraz każde widoczne GPU wraz z pamięcią. Jeśli na maszynie z kartą NVIDIA polecenie nie zgłasza CUDA, pip wybrał pakiet PyTorch dla CPU. Najpierw zainstaluj kompilację CUDA z indeksu PyTorch, a następnie LibreYOLO:

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

Jest to ten sam indeks, który repozytorium przypina we własnym środowisku zarządzanym przez uv w Linux i Windows. Wymaga sterownika NVIDIA 555 lub nowszego, zgodnie z wymaganiami środowiska uruchomieniowego CUDA 12.8. macOS zachowuje pakiet z PyPI, ponieważ host pobierania PyTorch nie publikuje kompilacji Darwin.

Sprawdzenie instalacji

CLI
# Python, Torch, CUDA, cuDNN, każde widoczne GPU oraz lista# zainstalowanych pakietów opcjonalnych.libreyolo checks
Python
import libreyolo print(libreyolo.__version__)
Inwentarz modeli
# Każda zarejestrowana rodzina wraz z zadaniami, rozmiarami i rozdzielczościami# wejściowymi. Rodziny, których dodatku brakuje, są wymieniane z poleceniem# pip, które je włącza.libreyolo models

libreyolo models to najszybszy sposób sprawdzenia, czy dodatek zadziałał. Rodzina z brakującą zależnością jest wyświetlana z dokładnym poleceniem pip, które ją włącza. Oba polecenia przyjmują również --json, które wyświetla te same dane jako obiekt do odczytu maszynowego na stdout.

Zweryfikowano z LibreYOLO v1.5.0.