libreyolo monitor

Udostępnia panel webowy dla przebiegów treningu, czytając artefakty, które przebieg zapisuje na dysku. Nigdy nie podłącza się do procesu trenowania, więc przebiegi trwające, zakończone i te, które padły, wyświetlają się tak samo.

Polecenie
libreyolo monitor
Wyjście
Adres URL serwera na stdout, potem proces pozostaje na pierwszym planie

Składnia

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

Katalog jest argumentem pozycyjnym. Wszystko poza nim to para key=value, działa też forma POSIX, więc port=9100 i --port 9100 to ten sam argument.

Argumenty

ArgumentDomyślnieZnaczenie
run_dirrunsPozycyjny. Katalog główny przebiegów do obserwowania albo pojedynczy katalog przebiegu do otwarcia bezpośrednio. W obu przypadkach wypisywane są wszystkie przebiegi w tym katalogu głównym
host127.0.0.1Host lub interfejs, na którym serwer nasłuchuje
port8420Port, na którym serwer nasłuchuje. Przechodzi na kolejny wolny, jeśli jest zajęty
no_browserfalseBez automatycznego otwierania przeglądarki
jsonfalseWyjście JSON na stdout
quietfalseWyciszenie stderr
verbosefalseSzczegółowe wyjście na stderr

Przykłady

Podstawowe użycie
# Obserwuje runs/ i wypisuje wszystkie przebiegi w tym katalogu.libreyolo monitor
Inny katalog główny przebiegów
libreyolo monitor experiments/
Jeden przebieg, stały port, bez przeglądarki
libreyolo monitor runs/train/exp port=9100 no_browser=true

Uwagi

Jeden serwer, wiele przebiegów

Serwer obserwuje katalog główny przebiegów, a nie pojedynczy przebieg, i adresuje każdy przebieg przez URL, więc kilka przebiegów na jednej maszynie dzieli jeden port. Otwórz adres URL katalogu głównego, aby zobaczyć indeks, albo po jednej karcie na przebieg; parametr ?run= w każdym adresie URL wskazuje, o który chodzi.

Wskazanie poleceniu pojedynczego katalogu przebiegu zakotwicza serwer w katalogu nadrzędnym, więc sąsiednie przebiegi nadal pojawiają się w indeksie, a link prowadzi bezpośrednio do wskazanego przebiegu.

Co jest czytane

Panel jest budowany z plików, które zapisuje libreyolo train: status.json, metrics.jsonl, train.log oraz obrazy z przebiegu. Z samego procesu trenowania nic nie jest czytane, więc przebieg zakończony albo taki, który padł, wyświetla się dokładnie tak samo jak trwający.

Wymagania wstępne i porty

Musi już istnieć co najmniej jeden przebieg. Bez argumentu i bez katalogu runs/ polecenie kończy się kodem source_not_found; to samo dzieje się, gdy podany katalog nie zawiera żadnych przebiegów.

Zajęty port przenosi się na kolejny, maksymalnie o dwadzieścia dalej niż żądany. Jeśli wszystkie dwadzieścia zawiodą, polecenie kończy się kodem io_error. Adres URL wypisany na stdout wskazuje port, który faktycznie został przypisany.

Polecenie działa na pierwszym planie aż do Ctrl+C. json=true wypisuje adres URL, obserwowany katalog główny i liczbę znalezionych przebiegów jako jeden obiekt z polem schema_version.

Powiązane: libreyolo train, którego argumenty project i name decydują o tym, gdzie trafiają katalogi przebiegów.

Zweryfikowano z LibreYOLO v1.5.0.