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

libreyolo monitor

Надає вебпанель для запусків навчання, читаючи артефакти, які запуск записує на диск. Панель ніколи не приєднується до процесу навчання, тому активні, завершені та аварійно зупинені запуски відображаються однаково.

Команда
libreyolo monitor
Вивід
URL сервера у stdout, після чого процес залишається в передньому плані

Синтаксис

bash
libreyolo monitor [<run-dir|runs-root>] [key=value ...]

Каталог передається позиційно. Решта аргументів має вигляд пари key=value, а POSIX-форма теж працює, тому port=9100 і --port 9100 задають той самий аргумент.

Аргументи

АргументТипове значенняПризначення
run_dirrunsПозиційний аргумент. Корінь із запусками, за яким треба стежити, або окремий каталог запуску, щоб відкрити його напряму. У будь-якому разі перелічено кожен запуск під цим коренем
host127.0.0.1Хост або інтерфейс для прив'язки
port8420Порт для прив'язки. Якщо зайнятий, береться наступний вільний
no_browserfalseНе відкривати браузер автоматично
jsonfalseВивід у форматі JSON у stdout
quietfalseПриглушити stderr
verbosefalseДокладний вивід у stderr

Приклади

Базове використання
# Стежить за runs/ і перелічує кожен запуск усередині.libreyolo monitor
Інший корінь із запусками
libreyolo monitor experiments/
Один запуск, фіксований порт, без браузера
libreyolo monitor runs/train/exp port=9100 no_browser=true

Примітки

Один сервер, багато запусків

Сервер стежить за коренем із запусками, а не за окремим запуском, і адресує кожен запуск через URL, тому кілька запусків на одній машині користуються одним портом. Відкрийте кореневий URL, щоб побачити перелік, або по одній вкладці на запуск; параметр ?run= у кожному URL вказує, про який саме запуск ідеться.

Якщо вказати команді окремий каталог запуску, сервер бере за корінь батьківський каталог, тому сусідні запуски все одно потрапляють у перелік, а глибоке посилання веде одразу до названого запуску.

Що він читає

Панель побудовано з файлів, які записує libreyolo train: status.json, metrics.jsonl, train.log та зображення запуску. Із самого процесу навчання нічого не читається, тому завершений або аварійно зупинений запуск відображається точно так само, як активний.

Передумови та порти

Щонайменше один запуск має вже існувати. Без аргументу і без каталогу runs/ команда завершується з source_not_found; те саме стається, якщо у вказаному каталозі немає жодного запуску.

Якщо порт зайнято, сервер переходить до наступного, аж до двадцятого після запитаного. Якщо всі двадцять недоступні, команда завершується з io_error. URL, надрукований у stdout, містить порт, який справді було прив'язано.

Команда працює в передньому плані до Ctrl+C. З json=true вона друкує URL, корінь, за яким ведеться спостереження, і кількість знайдених запусків одним об'єктом із полем schema_version.

Пов'язане: libreyolo train, чиї аргументи project і name визначають, куди потраплять ці каталоги запусків.

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