Udostępnij przez


Trenowanie modelu za pomocą usługi Custom Vision

W poprzednim etapie tego samouczka omówiliśmy wymagania wstępne dotyczące tworzenia własnego modelu i aplikacji usługi Windows Machine Learning oraz pobraliśmy zestaw obrazów do użycia. Na tym etapie dowiesz się, jak za pomocą internetowego interfejsu usługi Custom Vision przekształcić nasz zestaw obrazów w model klasyfikacji obrazów.

Azure Custom Vision to usługa rozpoznawania obrazów, która umożliwia tworzenie, wdrażanie i ulepszanie własnych identyfikatorów obrazów. Usługa Custom Vision Service jest dostępna jako zestaw natywnych zestawów SDK, a także za pośrednictwem internetowego interfejsu w witrynie internetowej usługi Custom Vision.

Tworzenie zasobów i projektu usługi Custom Vision

Tworzenie zasobu usługi Custom Vision

Aby korzystać z usługi Custom Vision Service, musisz utworzyć zasoby usługi Custom Vision na platformie Azure.

  1. Przejdź do strony głównej konta platformy Azure i wybierz pozycję Create a resource.

Wybór zasobów platformy Azure

  1. W polu wyszukiwania wyszukaj ciąg Custom Vision, a następnie przejdziesz do Marketplace Azure. Wybierz Create Custom Vision , aby otworzyć okno dialogowe na stronie Tworzenie usługi Custom Vision.

Wybór pakietów

  1. Na stronie okna dialogowego Custom Vision wybierz następujące opcje:
  • Wybierz zasoby Training i Prediction.
  • Wybierz subskrypcję, aby zarządzać wdrożonymi zasobami. Jeśli nie widzisz subskrypcji platformy Azure w menu, wyloguj się i otwórz ponownie konto platformy Azure przy użyciu tych samych poświadczeń, za pomocą których zostało otwarte konto.
  • Utwórz nową grupę zasobów i nadaj jej nazwę. W tym samouczku nazwaliśmy nasz zasób MLTraining, ale możesz wybrać własną nazwę lub użyć istniejącej grupy zasobów, jeśli taką posiadasz.
  • Nadaj nazwę projektowi. W tym samouczku nazwaliśmy naszą classificationApp, ale możesz użyć dowolnej nazwy według własnego uznania.
  • W przypadku zasobów Training i Prediction ustaw lokalizację jako (USA) Wschodnie USA i Poziom cenowy jako Bezpłatny poziom FO.
  1. Naciśnij Review + create , aby wdrożyć zasoby usługi Custom Vision. Wdrożenie zasobów może potrwać kilka minut.

Wdrażanie nowego zasobu usługi Custom Vision

Tworzenie nowego projektu w usłudze Custom Vision

Po utworzeniu zasobu nadszedł czas, aby utworzyć projekt szkoleniowy w usłudze Custom Vision.

  1. W przeglądarce internetowej przejdź do strony usługi Custom Vision i wybierz pozycję Sign in. Zaloguj się przy użyciu tego samego konta, które zostało użyte do zalogowania się w witrynie Azure Portal.

  2. Wybierz New Project , aby otworzyć nowe okno dialogowe projektu.

Tworzenie nowego projektu

  1. Utwórz nowy projekt w następujący sposób:
  • Name: KlasyfikacjaŻywności.
  • Description: Klasyfikacja różnych rodzajów żywności.
  • Resource: zachowaj ten sam zasób, który został wcześniej otwarty — ClassificationApp [F0].
  • Project Types: classification
  • Classification Types: Multilabel (Multiple tags per image)
  • Domains: Food (compact).
  • Export Capabilities: Basic platforms (Tensorflow, CoreML, ONNX, ...)

Uwaga / Notatka

Aby wyeksportować plik do formatu ONNX, upewnij się, że wybrano domenę Food (compact) . Nie można eksportować domen niezwartych do ONNX.

Ważne

Jeśli zalogowane konto jest skojarzone z kontem platformy Azure, na liście rozwijanej Grupa zasobów zostaną wyświetlone wszystkie grupy zasobów platformy Azure zawierające zasób usługi Custom Vision Service. Jeśli żadna grupa zasobów nie jest dostępna, upewnij się, że zalogowano się do customvision.ai przy użyciu tego samego konta, które zostało użyte do zalogowania się w witrynie Azure Portal.

  1. Po wypełnieniu okna dialogowego wybierz pozycję Create project.

Finalizowanie projektu

Prześlij zestaw danych szkoleniowych

Teraz, gdy stworzyłeś swój projekt, prześlesz wcześniej przygotowany zestaw danych z obrazami żywności z Kaggle Open Datasets.

  1. Wybierz swój projekt FoodClassification, aby otworzyć internetowy interfejs strony Custom Vision.

  2. Naciśnij przycisk Add images i wybierz pozycję Browse local files.

Okno dialogowe Dodawanie obrazów

  1. Przejdź do lokalizacji zestawu danych obrazów i wybierz folder treningowy — vegetable-fruit. Wybierz wszystkie obrazy w folderze i wybierz pozycję open. Zostanie otwarta opcja tagowania.

  2. Wprowadź vegetable-fruit w My Tags polu i naciśnij Upload.

Przekazywanie obrazów

Poczekaj, aż pierwsza grupa obrazów zostanie przekazana do projektu, a następnie naciśnij done. Wybór tagu zostanie zastosowany do całej grupy obrazów, które wybrałeś do przesłania. Dlatego łatwiej jest przekazywać obrazy z już wstępnie utworzonych grup obrazów. Tagi poszczególnych obrazów można zawsze zmieniać po ich przesłaniu.

Postęp przekazywania obrazów

  1. Po pomyślnym przekazaniu pierwszej grupy obrazów powtórz ten proces dwa razy więcej, aby przekazać obrazy deseru i zupy. Upewnij się, że oznaczysz je odpowiednimi tagami.

Na końcu będziesz mieć trzy różne grupy obrazów gotowych do trenowania.

Wyświetlanie tagów obrazów

Trenowanie klasyfikatora modelu

Teraz wytrenujesz model, aby sklasyfikować warzywa, zupę i desery z zestawu obrazów pobranych w poprzedniej części.

  1. Aby rozpocząć proces trenowania, wybierz Train przycisk w prawym górnym rogu. Klasyfikator użyje obrazów do utworzenia modelu identyfikującego cechy wizualne każdego tagu.

Przycisk Treningu

Istnieje możliwość zmiany progu prawdopodobieństwa przy użyciu suwaka w lewym górnym rogu. Próg prawdopodobieństwa określa poziom pewności, że przewidywanie musi być uznane za poprawne. Jeśli próg prawdopodobieństwa jest zbyt wysoki, uzyskasz więcej poprawnych klasyfikacji, ale wykryjesz mniej przypadków. Z drugiej strony, jeśli próg prawdopodobieństwa jest zbyt niski, wykryjesz o wiele więcej klasyfikacji, ale z niższym zaufaniem lub większą liczbą wyników fałszywie dodatnich.

W tym samouczku można ustawić próg prawdopodobieństwa na 50%.

  1. W tym miejscu użyjemy Quick Training procesu. Advanced Training Ma więcej ustawień i pozwala w szczególności ustawić czas używany do trenowania, ale nie potrzebujemy tutaj tego poziomu kontroli. Naciśnij , Train aby zainicjować proces trenowania.

Wybierz typ trenowania

Krótki proces trenowania potrwa tylko kilka minut. W tym czasie na karcie Performance są wyświetlane informacje o procesie szkolenia.

Proces trenowania

Ocena i testowanie

Ocena wyników

Po zakończeniu trenowania zobaczysz podsumowanie pierwszej iteracji treningowej. Obejmuje ona szacowanie wydajności modelu — dokładność i czułość.

  • Precyzja wskazuje ułamek zidentyfikowanych klasyfikacji, które były poprawne. W naszym modelu precyzja wynosi 98,2%, więc jeśli nasz model klasyfikuje obraz, bardzo prawdopodobne jest, że zostanie on poprawnie sklasyfikowany.
  • Czułość wskazuje, jaka część rzeczywistych klasyfikacji została prawidłowo zidentyfikowana. W naszym modelu czułość wynosi 97,5%, co oznacza, że nasz model prawidłowo klasyfikuje zdecydowaną większość prezentowanych obrazów.
  • AP to skrót od additional performance (Dodatkowa wydajność). Zapewnia to dodatkową metrykę, która podsumowuje dokładność i trafność przy różnych progach.

Ocena szkolenia modelu

Testowanie modelu

Przed wyeksportowanie modelu można przetestować jego wydajność.

  1. Wybierz Quick Test w prawym górnym rogu górnego paska menu, aby otworzyć nowe okno testowania.

Przycisk Testuj

W tym oknie możesz podać adres URL obrazu do przetestowania lub wybrać Browse local files użycie lokalnie przechowywanego obrazu.

Wybieranie obrazu do testowania

  1. Wybierz pozycję Browse local files, przejdź do danych dotyczących żywności i otwórz folder weryfikacji. Wybierz dowolny losowy obraz z fruit-vegetable folderu i naciśnij open.

Wynik testu pojawi się na ekranie. W naszym teście tryb pomyślnie sklasyfikował obraz z 99,8% pewność.

Wyniki klasyfikacji testów

Możesz użyć przewidywania do trenowania w zakładce Predictions, co może poprawić wydajność modelu. Aby uzyskać więcej informacji, zobacz Jak poprawić klasyfikator.

Uwaga / Notatka

Chcesz dowiedzieć się więcej na temat interfejsów API usługi Azure Custom Vision? Dokumentacja usługi Custom Vision Service zawiera więcej informacji na temat portalu internetowego i zestawu SDK usługi Custom Vision.

Eksportowanie modelu do ONNX

Teraz, gdy wytrenowaliśmy nasz model, możemy wyeksportować go do ONNX.

  1. Wybierz kartę Performance , a następnie wybierz Export , aby otworzyć okno eksportu.

Przycisk Eksportuj

  1. Wybierz ONNX , aby wyeksportować model do formatu ONNX.

Wybieranie formatu

  1. W razie potrzeby możesz wybrać opcję wartości zmiennoprzecinkowej ONNX 16, ale w tym samouczku nie musimy zmieniać żadnych ustawień. Wybierz opcję Export and Download.

Wybieranie platformy

  1. Otwórz pobrany plik .zip i wyodrębnij z niego plik model.onnx. Ten plik zawiera model klasyfikatora.

Gratulacje! Pomyślnie utworzono i wyeksportowano model klasyfikacji.

Dalsze kroki

Teraz, gdy mamy model klasyfikacji, następnym krokiem jest skompilowanie aplikacji systemu Windows i uruchomienie jej lokalnie na urządzeniu z systemem Windows.