libreyolo label

Uruchamia lokalne narzędzie webowe do rysowania i edycji ramek ograniczających. Zapisuje pliki etykiet w natywnym formacie LibreYOLO, więc zbiór danych opisany tutaj trenuje się bez kroku konwersji.

Polecenie
libreyolo label
Wyjście
URL serwera na stdout; etykiety zapisywane jako labels/*.txt obok obrazów

Składnia

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

Argumenty to pary key=value, działa też forma POSIX, więc port=9200 i --port 9200 to ten sam argument.

Argumenty

ArgumentDomyślnieZnaczenie
dataYAML zbioru danych lub folder otwierany bezpośrednio. Bez tej wartości start następuje na stronie głównej projektu
host127.0.0.1Host lub interfejs, z którym następuje powiązanie
port8000Port, z którym następuje powiązanie. Przechodzi na kolejny wolny, jeśli jest zajęty
deviceautoUrządzenie do automatycznego etykietowania AI: 0, cpu, mps, auto
no_assistfalseWyłącza automatyczne etykietowanie AI, zostaje narzędzie wyłącznie ręczne
no_browserfalseNie otwiera automatycznie przeglądarki
sharefalsePowiązanie z 0.0.0.0, aby osoby z zespołu w tej samej sieci mogły dołączyć
jsonfalseWyjście JSON na stdout
quietfalseWyciszenie stderr
verbosefalseSzczegółowe wyjście na stderr

Przykłady

Podstawowe użycie
# Otwiera stronę główną projektu; zbiór danych wybiera się lub tworzy w przeglądarce.libreyolo label
Tylko ręcznie, stały port
libreyolo label no_assist=true port=9200 no_browser=true
Dołączenie osób z zespołu
libreyolo label share=true

Uwagi

Co zapisuje

Ramki są zapisywane jako pliki labels/*.txt w natywnym formacie LibreYOLO, czyli w tym samym, który czyta libreyolo train, więc później nic nie trzeba konwertować. Ta wersja obsługuje wyłącznie ramki ograniczające. Zmiany zapisują się przy przechodzeniu między obrazami.

Otwieranie zbioru danych

Bez data narzędzie startuje na stronie głównej projektu, a zbiór danych wybiera się lub tworzy z poziomu przeglądarki. Podanie data=path/to/data.yaml otwiera ten zbiór od razu, a linia startowa podaje liczbę obrazów, liczbę klas oraz to, czy zbiór jest zapisywalny. Zbiór tylko do odczytu również się otwiera i podaje powód, dla którego nie można do niego pisać.

Udostępnianie i działanie host

share=true wiąże adres wildcard, dzięki czemu inne maszyny w tej samej sieci docierają do narzędzia, a działania administracyjne, przełączanie i usuwanie projektów oraz uruchamianie obliczeń pozostają na tej maszynie.

Ustawienie host na konkretny interfejs działa inaczej i mniej bezpiecznie: host staje się nie do odróżnienia od klienta sieciowego, więc każdy klient dostaje prawa administracyjne. Polecenie wypisuje wtedy ostrzeżenie na stderr. Lepiej użyć share=true.

Porty i zamykanie

Zajęty port przechodzi na kolejny, maksymalnie dwadzieścia pozycji od żądanego. Niepowodzenie wszystkich dwudziestu kończy się kodem io_error. URL wypisany na stdout wskazuje port, który został faktycznie powiązany. Przy share=true wynik zawiera dodatkowo lan_url, adres, który powinny otworzyć osoby z zespołu.

Polecenie działa na pierwszym planie do czasu naciśnięcia Ctrl+C.

Powiązane: libreyolo doctor, aby sprawdzić opisany zbiór danych przed trenowaniem, oraz libreyolo train, aby na nim trenować.

Zweryfikowano z LibreYOLO v1.5.0.