Label Studio ML Backend
Label Studio ML backend to SDK, które pozwala opakować twój kod uczenia maszynowego i przekształcić go w serwer internetowy. Serwer ten może być połączony z działającą instancją Label Studio w celu automatyzacji zadań etykietowania.
Jak uruchomić
To jest kontener pomocniczy, nie musisz wchodzić z nim w bezpośrednią interakcję. Wszystkie operacje są obsługiwane przez Label Studio. Ważne jest, aby uruchomić go z GPU, ponieważ jest on używany do inferencji.
cgc compute create -n auto-yolo -c 2 -m 8 autolabel-yolo -g 1 -gt a5000 -e label_studio_url=<LABEL_STUDIO_URL> -e label_studio_api_key=<LABEL_STUDIO_API_KEY>
Wymagane parametry
LABEL_STUDIO_URL
- URL do Twojej instancji Label Studio, potrzebujesz działającej instancji Label Studio, aby z tego korzystać. Ważne: Nie używaj publicznego URL do swojego Label Studio. Pamiętaj, że pracujesz w zamkniętym środowisku z siecią prywatną. Aby to skonfigurować, użyjhttp://<nazwa-label-studio>:8080
(np.http://label-studio:8080
)LABEL_STUDIO_API_KEY
- Klucz API do Twojej instancji Label Studio, możesz go wygenerować w interfejsie webowym Label Studio. Sprawdź tutaj.
Domyślna konfiguracja
LOG_LEVEL=DEBUG
- Ustawia poziom logowania na DEBUG, co jest przydatne do rozwoju i debugowania.WORKERS=1
- Ustawia liczbę procesów roboczych na 1, co jest odpowiednie dla scenariuszy o niskim obciążeniu. Możesz zwiększyć tę liczbę w zależności od obciążenia i dostępnych zasobów.THREADS=<liczba_rdzeni_cpu>
- Ustawia liczbę wątków na liczbę rdzeni CPU dostępnych w kontenerze. Pozwala to backendowi wykorzystać wszystkie dostępne zasoby CPU do przetwarzania.MODEL_DIR=/data/models
- Określa katalog, w którym przechowywane są pliki modelu.PYTHONPATH=/app
- Ustawia ścieżkę Pythona na katalog aplikacji, pozwalając backendowi importować niezbędne moduły i pakiety.ANY=PARAMETER
- To jest placeholder dla wszelkich dodatkowych parametrów, które możesz chcieć przekazać do backendu. Możesz to dostosować w zależności od swoich specyficznych wymagań.ALLOW_CUSTOM_MODEL_PATH=true
- Pozwala backendowi akceptować niestandardowe ścieżki modeli, umożliwiając elastyczność w zarządzaniu modelami.DEBUG_PLOT=false
- Domyślnie wyłącza debug plotting. Możesz to włączyć, jeśli potrzebujesz wizualizować predykcje modelu podczas rozwoju.MODEL_SCORE_THRESHOLD=0.5
- Ustawia próg oceny modelu. Predykcje z wynikami poniżej tego progu będą ignorowane.MODEL_ROOT=/app/models
- Określa pełną ścieżkę montowania dla katalogu modelu. Tu backend będzie szukał plików modelu.
Domyślny port to 9090
- będziesz używać ML Backend wewnętrznie, więc prawidłowy URL, który musi być podany w projekcie label studio to
http://auto-yolo:9090
Dodaj własny model do ML Backend
Aby załadować własny model do backendu, wykonaj następujące kroki:
- Utwórz wolumen - Najpierw utwórz wolumen, w którym będzie przechowywany Twój model. Jeśli odpowiedni wolumen ju ż istnieje, możesz pominąć ten krok.
- Załaduj własny model - Przenieś lub skopiuj plik modelu do utworzonego wolumenu. Lub zamontuj ten wolumen do ML Backend i Jupyter Notebook.
- Zamontuj wolumen - do Twojego kontenera ML Backend, aby aplikacja miała dostęp do Twojego modelu. Na przykład:
cgc volume mount <nazwa_wolumenu_z_modelem> -t auto-yolo
Jeśli chcesz możesz zamontować ten sam wolumen, którego używasz do przechowywania swojego datasetu i modeli. Dzięki temu nie musisz tworzyć nowego wolumenu tylko dla modelu.
Co więcej, jeśli Twój wolumen jest zamontowany do ML Backend-u i Jupyter Notebook, możesz wytrenować swoje modele i następnie natychmiast użyć ich w Label Studio bez konieczności przenoszenia.
Gdy wolumen zostanie zamontowany, ML backend będzie miał dostęp do przechowywanych w nim modeli. Możesz przechowywać wiele modeli w tym samym wolumenie. Aby upewnić się, że ML Backend wie, którego modelu użyć, musisz odpowiednio skonfigurować środowisko projektu: 4. Skonfiguruj model w swoim projekcie.
Po wykonaniu tych kroków powinieneś być w stanie zobaczyć predykcje na swoim zbiorze danych.
Jak używać
Aby dowiedzieć się więcej o tym, jak używać ML backendu, przejdź do Label Studio ML Backend