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

libreyolo label

Запускает локальный веб-инструмент для рисования и правки ограничивающих рамок. Он пишет файлы разметки в родном формате LibreYOLO, поэтому размеченный здесь датасет обучается без шага конвертации.

Команда
libreyolo label
Вывод
URL сервера в stdout; разметка пишется в labels/*.txt рядом с изображениями

Синтаксис

bash
libreyolo label [data=<dataset.yaml|folder>] [key=value ...]

Аргументы задаются парами key=value, POSIX-форма тоже работает, поэтому port=9200 и --port 9200 — один и тот же аргумент.

Аргументы

АргументПо умолчаниюОписание
dataYAML датасета или папка, которую нужно открыть сразу. Без него запуск начинается с главной страницы проекта
host127.0.0.1Хост или интерфейс для привязки
port8000Порт для привязки. Если занят, берётся следующий свободный
deviceautoУстройство для AI-разметки: 0, cpu, mps, auto
no_assistfalseОтключить AI-разметку и оставить только ручную
no_browserfalseНе открывать браузер автоматически
sharefalseПривязка к 0.0.0.0, чтобы коллеги в вашей сети могли подключиться
jsonfalseВывод JSON в stdout
quietfalseПодавить stderr
verbosefalseПодробный вывод в stderr

Примеры

Базовый запуск
# Открывает главную страницу проекта; датасет выбирается или создаётся в браузере.libreyolo label
Только ручная разметка, фиксированный порт
libreyolo label no_assist=true port=9200 no_browser=true
Подключение коллег
libreyolo label share=true

Примечания

Что записывается

Рамки сохраняются в файлы labels/*.txt в родном формате LibreYOLO — том самом, который читает libreyolo train, поэтому конвертировать потом ничего не нужно. Эта версия работает только с ограничивающими рамками. Правки сохраняются при переходе между изображениями.

Открытие датасета

Без data инструмент запускается на главной странице проекта, а датасет выбирается или создаётся из браузера. Если передать data=path/to/data.yaml, этот датасет откроется сразу, а стартовая строка сообщит количество изображений, количество классов и доступен ли датасет для записи. Датасет только для чтения тоже открывается и объясняет, почему в него нельзя писать.

Совместный доступ и что делает host

share=true привязывается к wildcard-адресу, и другие машины в вашей сети получают доступ к инструменту, а административные действия — переключение и удаление проектов, запуск вычислений — остаются на этой машине.

Указание конкретного интерфейса в host делает нечто другое и менее безопасное: сама машина становится неотличима от сетевого клиента, поэтому административные права получает каждый клиент. При этом команда печатает предупреждение в stderr. Лучше использовать share=true.

Порты и завершение работы

Если порт занят, берётся следующий — и так до двадцати портов после запрошенного. Если все двадцать заняты, команда завершается с io_error. В stdout печатается URL с портом, к которому фактически удалось привязаться. С share=true результат содержит ещё и lan_url — адрес, который должны открыть коллеги.

Команда работает на переднем плане до Ctrl+C.

Смотрите также: libreyolo doctor — проверить размеченный датасет перед обучением, и libreyolo train — обучить на нём.

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