Переглянути як Markdown

Встановлення

LibreYOLO опубліковано на PyPI як libreyolo. Базовий пакет охоплює передбачення, навчання, валідацію та сімейства моделей, яким не потрібно нічого крім PyTorch; необов'язкові набори залежностей додають решту.

Пакет
libreyolo
Python
3.10 або новіша
Ліцензія коду
MIT
Основна залежність
PyTorch 2.4 або новіша

Встановлення

pip
pip install libreyolo
З додатковими залежностями
# Щоб поєднати кілька наборів в одному встановленні, розділяйте їх комами.pip install "libreyolo[rfdetr,onnx]"
Усе
pip install "libreyolo[all]"
Із джерельного коду
git clone https://github.com/LibreYOLO/libreyolo.gitcd libreyolopip install -e .

Потрібен Python 3.10 або новіший. Базове встановлення додає PyTorch, torchvision, NumPy, Pillow, OpenCV, PyYAML, requests, mss, tqdm, pycocotools, typer, click, safetensors і SciPy, тому YOLOv9 та інші сімейства, яким більше нічого не потрібно, працюють одразу після pip install libreyolo.

Клонування отримує гілку release, стабільну гілку, код якої відповідає цій документації. Інтеграційна гілка з неопублікованими змінами має назву dev.

Необов'язкові набори залежностей

Додатковий набір залежностей позначається назвою в квадратних дужках і додає залежності, потрібні одному сімейству моделей або одній цілі експорту. Решта не змінюється: API однаковий незалежно від наявності такого набору.

Сімейства моделей

НабірДодає
rfdetrtransformers, що надає бекбон RF-DETR
eomttransformers
midastimm 1.0.x, що надає кодувальники ViT-L/16 і EfficientNet-Lite3 для MiDaS
vlmtransformers, num2words, decord, lmdb, peft
samtransformers, timm
openvocabtransformers, timm, regex, ftfy
sensenovatransformers, accelerate і bitsandbytes поза macOS
modustransformers, accelerate
clipregex і ftfy, потрібні вбудованому текстовому токенізатору CLIP
siglip2sentencepiece, потрібний багатомовному токенізатору SigLIP 2
gazegdown, що вмикає автоматичне завантаження контрольної точки L2CS
rtdetrНічого. RT-DETR не потребує додаткових залежностей; назву збережено стабільною

Експорт і середовища виконання

НабірДодає
onnxonnx, onnxsim, onnxruntime
tensorrttensorrt-cu12 10.16.1.11 і pycuda поза macOS
openvinoopenvino
coremlcoremltools
coreaicoreai-torch, лише macOS
tflite, псевдонім litertlibreyolo[onnx] разом із onnx2tf, ai-edge-litert, onnx-graphsurgeon і onnx-simplifier
mnnlibreyolo[onnx] разом із MNN
ncnnpnnx і ncnn
paddlelibreyolo[onnx] разом із paddlepaddle 2.6.2 і x2paddle 1.6.0
executorchexecutorch
tritontritonclient[http] для інференсу V2 через HTTP і HTTPS

Навчання, оцінювання та журналювання

НабірДодає
loralibreyolo[rfdetr] разом із peft для донавчання з lora=True
plotsmatplotlib
fast-evalfaster-coco-eval, бекенд оцінювання COCO на C++
tensorboardtensorboard
mlflowmlflow
wandbwandb
cometcomet-ml
clearmlclearml
neptuneneptune-scale
dvclive, псевдонім dvcdvclive

fast-eval є необов'язковим, а не обов'язковою залежністю, щоб відсутність готового wheel-пакета для платформи не могла порушити звичайне встановлення. Якщо пакета немає, оцінювання COCO використовує резервний варіант pycocotools, і виконання продовжується.

Інструменти

НабірДодає
streamyt-dlp, потрібний лише для визначення URL-адрес сторінок YouTube
trackingНічого. Усі залежності відстеження вже є основними залежностями
labellibreyolo[sam], що вмикає допоміжне створення масок клацанням у libreyolo label
hub-kernelskernels, необов'язковий завантажувач скомпільованих ядер Hub. Дивіться ядра, де зазначено, що його встановлення може змінити передбачення RF-DETR у межах похибки float
clip-convertlibreyolo[clip] разом із open_clip_torch для перетворення ваг і перевірок паритету
siglip2-convertlibreyolo[siglip2] разом із transformers із тією самою метою

Вебкамери, RTSP, RTMP, TCP, UDP, HLS і локальні списки кількох потоків не потребують додаткового набору. Він потрібний лише URL-адресам сторінок YouTube.

Сукупний набір

libreyolo[all] однією командою встановлює додаткові набори для моделей, експорту, відстеження й журналювання. Деякі навмисно не входять до нього. neptune вилучено, оскільки стабільний neptune-scale потребує protobuf нижче версії 7, тоді як шлях TFLite потребує protobuf 7. executorch вилучено, оскільки ExecuTorch обмежує сумісну версію PyTorch, а coreai тому, що coreai-torch фіксує PyTorch на версії 2.11.x і перевів би на неї все середовище. fast-eval, hub-kernels, clip-convert і siglip2-convert також не включено. Установлюйте будь-який із них за назвою.

Обмеження платформ

Область дії трьох наборів обмежено платформами через маркери залежностей, тому встановлення успішне скрізь і лише встановлює менше компонентів там, де немає wheel-пакета.

НабірОбмеження
coreaiЛише macOS. Набір інструментів Core AI не виконує ні перетворення, ні запуску на інших платформах
tensorrtПропускається в macOS, де немає CUDA
tflite, litertonnx2tf і ai-edge-litert потребують Python 3.12 або новішого

sensenova пропускає bitsandbytes у macOS, для якої не опубліковано wheel-пакета; решта набору встановлюється звичайним способом.

Якщо обмеженням є місце на диску, більшість займає PyTorch, а більшу частину PyTorch становлять компоненти CUDA, включені до його типового wheel-пакета. Wheel-пакет лише для CPU усуває їх без жодних втрат. Для виявлення у форматі ONNX на комп'ютері, де взагалі не має бути torch, дивіться полегшене встановлення.

GPU та CUDA

Пристрій вибирається під час створення моделі. Типове значення device="auto" використовує CUDA, якщо torch.cuda.is_available() має значення true, потім Metal Performance Shaders, якщо torch.backends.mps.is_available() має значення true, інакше CPU. Інші частини бібліотеки не перевіряють обладнання, тому якщо PyTorch не бачить GPU, LibreYOLO також його не бачить.

Щоб натомість зафіксувати пристрій, передайте device моделі або до predict, train, val чи export. Він приймає "cpu", "cuda", "cuda:0", "mps", звичайне ціле число на кшталт 0 або цифровий рядок на кшталт "0"; останні два варіанти розгортаються в cuda:<n>.

Почніть із libreyolo checks, що виводить версію Torch, версії CUDA та cuDNN, для яких зібрано Torch, і всі видимі GPU з обсягом пам'яті. Якщо команда не повідомляє про CUDA на комп'ютері з картою NVIDIA, pip вибрав збірку PyTorch для CPU. Спочатку встановіть збірку з CUDA з індексу PyTorch, а потім установіть LibreYOLO:

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

Це той самий індекс, який репозиторій фіксує для власного середовища під керуванням uv у Linux і Windows. Для нього потрібний драйвер NVIDIA 555 або новіший, що є вимогою середовища виконання CUDA 12.8. macOS зберігає wheel-пакет із PyPI, оскільки хост завантажень PyTorch не публікує збірки Darwin.

Перевірка встановлення

CLI
# Python, Torch, CUDA, cuDNN, усі видимі GPU та перелік# установлених необов'язкових пакетів.libreyolo checks
Python
import libreyolo print(libreyolo.__version__)
Перелік моделей
# Кожне зареєстроване сімейство з його задачами, розмірами та# роздільною здатністю входу. Для сімейств без потрібного набору# залежностей наведено команду pip, яка їх вмикає.libreyolo models

libreyolo models є найшвидшим способом перевірити, чи подіяв додатковий набір: сімейство без залежності виводиться з точною командою pip, яка його вмикає. Обидві команди також приймають --json, що виводить ті самі дані як придатний для машинного читання об'єкт у stdout.

Перевірено з LibreYOLO v1.5.0.