утиліти libreyolo
Дев'ять команд, які звітують або перевіряють, а не обчислюють. Вони виводять відомості про середовище, перелік моделей і форматів, розв'язані типові значення, дані контрольної точки, а також будують і опитують галерею облич.
- Команди
version, checks, models, formats, cfg, info, metadata, enroll, compare- Виведення
- stdout, у вигляді тексту або з json=true як один об'єкт зі schema_version
Синопсис
libreyolo <command> [key=value ...]Аргументи задаються парами key=value, до того ж працює й POSIX-форма, тому
model=x і --model x є тим самим аргументом. Кожна команда з цієї сторінки
пише результат у stdout і приймає json=true та quiet=true.
Кореневий виклик має один власний прапорець, libreyolo --version, який
виводить рядок версії та завершує роботу. Це коротше виведення, ніж у команди
version нижче.
version
Виводить версію бібліотеки LibreYOLO, а також версії Python, torch і CUDA, з якими вона працює.
libreyolo version| Аргумент | Типове значення | Призначення |
|---|---|---|
json | false | Виведення JSON у stdout |
quiet | false | Приглушити stderr |
checks
Виводить докладніші відомості про середовище: Python, torch, CUDA, cuDNN, кожен виявлений GPU з його назвою та обсягом пам'яті, а також установлену версію кожного необов'язкового пакета, який використовують шляхи експорту.
libreyolo checks| Аргумент | Типове значення | Призначення |
|---|---|---|
json | false | Виведення JSON у stdout |
quiet | false | Приглушити stderr |
Перелік пакетів охоплює onnx, onnxruntime, tensorrt, openvino,
paddlepaddle, x2paddle, mnn, ncnn, onnx2tf, ai-edge-litert,
transformers і scipy. Пакет, який не встановлено, позначається саме так, а
не пропускається, тому невдалий експорт можна звести до відсутньої залежності
однією цією командою.
models
Перелічує кожне сімейство моделей із його задачами, розмірами, назвами CLI, що розв'язуються в його контрольні точки, і вхідною роздільною здатністю кожного розміру.
libreyolo models| Аргумент | Типове значення | Призначення |
|---|---|---|
json | false | Виведення JSON у stdout |
quiet | false | Приглушити stderr |
Сімейство, необов'язкову залежність якого не встановлено, наведено як
недоступне разом із рядком pip install, що зробить його доступним. Назви CLI
приймаються в model= як скорочення: yolox-s розв'язується в
LibreYOLOXs.pt, а задачі, відмінні від виявлення, несуть суфікс своєї задачі.
formats
Перелічує формати експорту, які може створити встановлене середовище, разом із розширенням файлу кожного формату та відомостями про підтримку FP16 та INT8.
libreyolo formats [family=<family>] [task=<task>]| Аргумент | Типове значення | Призначення |
|---|---|---|
family | Показати рівні підтримки для одного сімейства моделей. model= приймається як той самий параметр | |
task | Канонічна задача моделі. Якщо не задано, типова задача сімейства | |
json | false | Виведення JSON у stdout |
quiet | false | Приглушити stderr |
Без family виведення містить лише перелік форматів. З ним кожен формат
отримує рівень підтримки для цього сімейства та задачі, причину такого рівня і
будь-яке пов'язане з ним обмеження. Невідоме сімейство або задача, якої
сімейство не підтримує, є помилкою використання.
Псевдоніми форматів показано поруч із канонічною назвою: engine для
tensorrt, litert для tflite.
cfg
Виводить розв'язану типову конфігурацію: типові значення для навчання, для валідації, для передбачення та перевизначення для кожного сімейства.
libreyolo cfg| Аргумент | Типове значення | Призначення |
|---|---|---|
json | false | Виведення JSON у stdout |
quiet | false | Приглушити stderr |
Значення читаються з класів даних конфігурації, а не з копії, тому саме це
джерело є достовірним щодо того, що використає запуск навчання, якщо ви не
передасте аргумент. Розділ family_overrides пояснює, чому сімейство
навчалося з налаштуваннями, яких ви не просили. Про застосування цих
перевизначень див. libreyolo train.
info
Завантажує модель на CPU і повідомляє її сімейство, розмір, кількість параметрів, класи та рівень підтримки експорту для кожного формату.
libreyolo info model=<name|path>| Аргумент | Типове значення | Призначення |
|---|---|---|
model | Назва моделі або шлях до ваг. Обов'язковий | |
detailed | false | Додати подробиці щодо кожного параметра |
json | false | Виведення JSON у stdout |
quiet | false | Приглушити stderr |
metadata
Читає метадані контрольної точки без побудови моделі та перевіряє їх на відповідність схемі контрольних точок LibreYOLO.
libreyolo metadata path=<checkpoint.pt>| Аргумент | Типове значення | Призначення |
|---|---|---|
path | Шлях до контрольної точки .pt. Обов'язковий | |
json | false | Виведення JSON у stdout |
quiet | false | Приглушити stderr |
Великі записи, що містять тензори, подано у стислому вигляді замість повного
друку, тому виведення лишається читним навіть для повної навчальної
контрольної точки. Якщо контрольної точки не існує, команда завершується з
checkpoint_not_found, а якщо метадані не проходять перевірку, вона друкує
помилки і завершується з кодом 1.
enroll
Будує галерею облич із дерева тек, де на кожну особу припадає одна тека, щоб подальші передбачення могли називати знайдені обличчя.
libreyolo enroll model=<embedder> source=<people-dir> gallery=<gallery.npz>| Аргумент | Типове значення | Призначення |
|---|---|---|
model | Модель ембедингів облич, шлях або назва. Обов'язковий | |
source | Дерево з однією текою на особу, source/<identity>/*.jpg. Обов'язковий | |
gallery | Вихідний файл галереї .npz. Якщо він існує, доповнюється на місці. Обов'язковий | |
face_detector | Детектор облич: файл YuNet .onnx або детектор LibreYOLO. Якщо не задано, типовий детектор сімейства | |
device | auto | Пристрій: 0, cpu, mps, auto |
json | false | Виведення JSON у stdout |
quiet | false | Приглушити stderr |
# people/ містить одну теку на кожну особу; назва теки стає ідентичністю.
libreyolo enroll model=librefacerec-l.onnx source=people/ gallery=people.npzНазва підтеки і є ідентичністю. Еталонне зображення, на якому не вдалося виявити обличчя, пропускається з рядком у stderr, а решта обробляється далі; джерело без підтек з ідентичностями або таке, де не знайдено жодного обличчя, є помилкою.
Передайте отриманий файл у
libreyolo predict як gallery=people.npz, щоб виявлення
несли ідентичність і оцінку збігу.
compare
Повідомляє косинусну подібність між двома зображеннями облич і те, чи перевищує вона поріг однакової ідентичності.
libreyolo compare model=<embedder> source=<a.jpg> source2=<b.jpg>| Аргумент | Типове значення | Призначення |
|---|---|---|
model | Модель ембедингів облич, шлях або назва. Обов'язковий | |
source | Перше зображення. Обов'язковий | |
source2 | Друге зображення для порівняння. Обов'язковий | |
face_detector | Детектор облич: файл YuNet .onnx або детектор LibreYOLO | |
threshold | 0.4 | Поріг косинусної подібності для рішення про однакову ідентичність |
device | auto | Пристрій: 0, cpu, mps, auto |
json | false | Виведення JSON у stdout |
quiet | false | Приглушити stderr |
libreyolo compare model=librefacerec-l.onnx source=a.jpg source2=b.jpglibreyolo verify зареєстровано як другу назву цієї команди, і вона приймає ті
самі аргументи.
Обидві команди, compare і enroll, потребують моделі, задачею якої є
ембединги облич. Будь-що інше завершується з config_unsupported. Як джерела
приймаються і локальні шляхи до зображень, і URL з http чи https.
Приклади
libreyolo versionlibreyolo checkslibreyolo modelslibreyolo formats family=yolo9 task=detectlibreyolo info model=LibreYOLO9s.ptlibreyolo metadata path=weights/LibreYOLO9s.ptПримітки
Результат надходить у stdout; поступ і попередження йдуть у stderr. json=true
друкує один об'єкт зі schema_version, і саме цю форму варто читати зі
скрипта. Текстове виведення є типовим і призначене для читання людиною.
Коди виходу відповідають тій самій схемі, що й у решті CLI: 0 в разі успіху,
2 для помилки використання чи конфігурації, 3 коли не вдається знайти
джерело, 4 коли не вдається завантажити модель або контрольну точку, і 1
для інших збоїв під час виконання.
Пов'язане: libreyolo doctor, команда перевірки з боку
датасету, і libreyolo profile, команда з боку
продуктивності.