Przejdź do głównej zawartości

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żyj http://<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:

  1. 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.
  2. Załaduj własny model - Przenieś lub skopiuj plik modelu do utworzonego wolumenu. Lub zamontuj ten wolumen do ML Backend i Jupyter Notebook.
  3. 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
wskazówka

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