Посмотреть как Markdown

libreyolo predict

Прогоняет загруженную модель по одному источнику и печатает предсказания. Источником может быть изображение, каталог, видео, URL или живой поток; моделью — чекпойнт или экспортированный артефакт.

Команда
libreyolo predict
Обязательный
source
Вывод
Предсказания в stdout. При save=true — аннотированные файлы в runs/detect/predict

Синопсис

bash
libreyolo predict source=<path|url|index> [model=<name|path>] [key=value ...]

Аргументы — это пары key=value. Та же команда принимает и POSIX-форму, поэтому conf=0.4 и --conf 0.4 взаимозаменяемы, а булев аргумент, записанный как save=true, превращается в --save. Имена с подчёркиванием принимают оба написания: max_det=50 и --max-det 50 попадают в одну и ту же опцию.

libreyolo detect predict ... тоже принимается и ведёт себя точно так же; слово задачи отбрасывается перед разбором.

Аргументы

АргументПо умолчаниюОписание
sourceПуть к изображению, каталог или URL. Обязателен
modelyolox-sИмя или путь модели
conf0.25Порог уверенности
iou0.45Порог IoU для NMS
imgszРазмер входного изображения: 640 (квадрат) или 480x640 (HxW). Если не задан — собственный входной размер модели
classesФильтр по ID классов, например [0,2,5]. Одиночное целое тоже принимается
max_det300Максимум детекций на изображение
halffalseИнференс в FP16 (только CUDA, нужна поддержка со стороны модели)
savefalseСохранять аннотированные изображения
batch1Изображений за один прямой проход для источников-каталогов. Значение выше 1 запускает настоящий батчевый инференс на моделях, которые его поддерживают
streamfalseВыдавать результаты по мере готовности. Включается автоматически для веб-камер и живых потоков
stream_bufferfalseБуферизовать каждый живой кадр вместо хранения только самого свежего
vid_stride1Обрабатывать каждый N-й кадр видео или живого потока
showfalseПоказывать результаты для видео и живых потоков; q останавливает
tilingfalseПотайловый инференс для больших изображений
overlap_ratio0.2Доля перекрытия тайлов
output_pathЯвный путь вывода. Иначе project/name, когда save=true
color_formatautoЦвет входа: auto, rgb, bgr
output_file_formatФормат вывода: jpg, png, webp
deviceautoУстройство: 0, cpu, mps, auto
face_detectorМодель детектора лиц (путь или имя из CLI). Обязательна для моделей оценки взгляда
galleryГалерея лиц .npz из libreyolo enroll, по которой опознаются лица. Только для моделей эмбеддингов лиц
gallery_threshold0.4Косинусный порог для совпадения личности по галерее
projectruns/detectКорневой каталог вывода
namepredictИмя эксперимента
exist_okfalseПереиспользовать существующий каталог вывода
jsonfalseВывод JSON в stdout
quietfalseПодавить stderr
verbosefalseПодробный вывод в stderr
help_jsonfalseВывести схему команды в JSON и выйти

Примеры

Базовый вызов
libreyolo predict model=LibreYOLO9s.pt \  source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg
Сохранение аннотированных изображений
libreyolo predict model=LibreYOLO9s.pt save=true \  project=runs/detect name=parkour exist_ok=true \  source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg
Фильтр классов, JSON в stdout
# класс 0 — person в списке классов COCO, который идёт вместе с чекпойнтом.libreyolo predict model=LibreYOLO9s.pt classes="[0]" conf=0.4 max_det=50 \  json=true quiet=true \  source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg

Примечания

Экспортированный артефакт загружается так же, как чекпойнт, поэтому model=weights/LibreYOLO9s.onnx и model=weights/LibreYOLO9s.engine — допустимые значения для model. Три опции на таких средах выполнения не игнорируются, а отклоняются: tiling, overlap_ratio и output_file_format завершаются с config_unsupported, если бэкенд среды выполнения не может их выполнить.

С half всё наоборот. Экспортированные среды выполнения получают его и работают в FP16; нативный инференс PyTorch пишет в лог, что параметр проигнорирован, и продолжает в FP32.

Модели оценки взгляда двухэтапные и не имеют собственного детектора, поэтому для них обязателен face_detector. gallery применим только к моделям с задачей embed; передача его чему-то другому завершается с config_unsupported.

В stdout идут результаты и ничего больше; прогресс, предупреждения и ошибки уходят в stderr. json=true печатает один JSON-объект на запуск или по одному на кадр при стриминге, и в каждом есть schema_version. quiet=true заглушает stderr. Вместе они дают машинному читателю чистый поток stdout.

Код возврата — 0 при успехе, 2 при ошибке использования или конфигурации, 3 если источник не найден, 4 если модель не удалось загрузить, и 1 для остальных сбоев во время выполнения.

help_json=true печатает параметры команды, их типы, значения по умолчанию и флаги в виде JSON, ничего не запуская, — это надёжный способ получить эту таблицу из установленной версии.

См. также: libreyolo val — измеренные метрики на датасете, libreyolo export — создание артефактов сред выполнения, упомянутых выше.

Проверено с LibreYOLO v1.5.0.