Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowiedz się, jak wytrenować model klasyfikacji obrazów na platformie Azure przy użyciu narzędzia Model Builder do kategoryzowania użycia gruntów na podstawie obrazów satelitarnych.
W tym samouczku pokazano, jak utworzyć bibliotekę klas języka C# w celu kategoryzowania użycia gruntów na podstawie obrazów satelitarnych za pomocą narzędzia Model Builder.
W tym samouczku zostały wykonane następujące czynności:
- Przygotowywanie i interpretacja danych
- Tworzenie pliku konfiguracji konstruktora modeli
- Wybieranie scenariusza
- Ładowanie danych
- Tworzenie eksperymentu na platformie Azure
- Trenowanie modelu
- Ocena modelu
- Korzystanie z modelu
Wymagania wstępne
- Aby zapoznać się z listą wymagań wstępnych i instrukcji instalacji, odwiedź przewodnik instalacji narzędzia Model Builder.
- Konto platformy Azure. Jeśli go nie masz, utwórz bezpłatne konto platformy Azure.
- ASP.NET i obciążenia tworzenia aplikacji internetowych.
Omówienie klasyfikacji obrazów w programie Model Builder
Ten przykład tworzy bibliotekę klas języka C#, która kategoryzuje użycie gruntów na podstawie obrazów satelitarnych mapy przy użyciu modelu uczenia głębokiego wytrenowanego na platformie Azure za pomocą narzędzia Model Builder. Kod źródłowy tego samouczka można znaleźć w repozytorium github dotnet/machinelearning-samples
Tworzenie biblioteki klas języka C#
Utwórz bibliotekę klas języka C# o nazwie "LandUse".
Przygotowywanie i interpretacja danych
Uwaga
Dane dotyczące tego samouczka pochodzą z:
- Eurosat: nowatorski zestaw danych i test porównawczy uczenia głębokiego do użytku lądowego i klasyfikacji pokrycia gruntów. Patrick Helber, Benjamin Bischke, Andreas Dengel, Damian Borth. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2019.
- Wprowadzenie do euroSAT: nowatorski zestaw danych i test porównawczy uczenia głębokiego na potrzeby używania gruntów i klasyfikacji pokrycia gruntów. Patrick Helber, Benjamin Bischke, Andreas Dengel. 2018 IEEE International Geoscience and Remote Sensing Sympozjum, 2018.
Zestaw danych EuroSAT zawiera kolekcję obrazów satelitarnych podzieloną na dziesięć kategorii (obszarów wiejskich, przemysłowych, rzek itp.). Oryginalny zestaw danych zawiera 27 000 obrazów. Dla wygody w tym samouczku jest używanych tylko 2000 tych obrazów.

- Pobierz podzbiór zestawu danych EuroSAT i zapisz go w dowolnym miejscu na komputerze.
- Rozpakuj go.
Tworzenie pliku konfiguracji konstruktora modeli
Podczas pierwszego dodawania konstruktora modeli do rozwiązania zostanie wyświetlony monit o utworzenie mbconfig pliku. Plik mbconfig śledzi wszystko, co robisz w narzędziu Model Builder, aby umożliwić ponowne otwarcie sesji.
- W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt LandUse i wybierz polecenie Dodaj > model uczenia maszynowego....
- W oknie dialogowym nadaj projektowi konstruktora modelu nazwę LandUse, a następnie kliknij przycisk Dodaj.
Wybieranie scenariusza
Aby wytrenować model, należy wybrać z listy dostępnych scenariuszy uczenia maszynowego dostarczonych przez narzędzie Model Builder.
W tym przykładzie zadanie to klasyfikacja obrazów. W kroku scenariusza narzędzia Model Builder wybierz scenariusz klasyfikacji obrazów .
Wybieranie środowiska
Narzędzie Model Builder może uruchamiać szkolenie w różnych środowiskach w zależności od wybranego scenariusza.
Wybierz platformę Azure jako środowisko i kliknij przycisk Skonfiguruj obszar roboczy .
Tworzenie eksperymentu na platformie Azure
Eksperyment usługi Azure Machine Learning to zasób, który należy utworzyć przed uruchomieniem szkolenia narzędzia Model Builder na platformie Azure.
Eksperyment hermetyzuje konfigurację i wyniki dla co najmniej jednego uruchomienia trenowania uczenia maszynowego. Eksperymenty należą do określonego obszaru roboczego. Przy pierwszym utworzeniu eksperymentu jego nazwa jest zarejestrowana w obszarze roboczym. Wszystkie kolejne przebiegi — jeśli jest używana ta sama nazwa eksperymentu — są rejestrowane w ramach tego samego eksperymentu. W przeciwnym razie zostanie utworzony nowy eksperyment.
W oknie dialogowym Tworzenie nowego eksperymentu wybierz swoją subskrypcję z listy rozwijanej Subskrypcja .
Tworzenie obszaru roboczego
Obszar roboczy to zasób usługi Azure Machine Learning, który zapewnia centralne miejsce dla wszystkich zasobów i artefaktów usługi Azure Machine Learning utworzonych w ramach przebiegu trenowania.
W oknie dialogowym Tworzenie nowego eksperymentu wybierz link Nowy obok listy rozwijanej Nazwa obszaru roboczego usługi Machine Learning .
W oknie dialogowym Tworzenie nowego obszaru roboczego wpisz "landuse-wkspc" w polu tekstowym Nazwa obszaru roboczego usługi Machine Learning .
Wybierz pozycję Wschodnie stany USA z listy rozwijanej Regiony . Region to lokalizacja geograficzna centrum danych, w którym wdrożono obszar roboczy i zasoby. Zaleca się wybranie lokalizacji w pobliżu lokalizacji, w której znajdują się Twoi klienci.
Wybierz link Nowy obok listy rozwijanej Grupy zasobów .
- W oknie dialogowym Tworzenie nowej grupy zasobów wpisz "landuse-rg" w polu tekstowym Nazwa grupy zasobów .
- Wybierz przycisk OK.
Wybierz nowo utworzoną grupę zasobów z listy rozwijanej Grupy zasobów .
Wybierz przycisk Utwórz.
Proces aprowizacji trwa kilka minut. Żądanie jest wykonywane na platformie Azure w celu aprowizacji następujących zasobów w chmurze:
- Obszar roboczy usługi Azure Machine Learning
- Konto usługi Azure Storage
- Azure Application Insights
- Azure Container Registry
- Azure Key Vault
Po zakończeniu procesu aprowizacji wybierz nowo utworzony obszar roboczy z listy rozwijanej Nazwa obszaru roboczego usługi Machine Learning w oknie dialogowym Tworzenie nowego eksperymentu.
Tworzenie zasobów obliczeniowych
Środowisko obliczeniowe usługi Azure Machine Learning to oparta na chmurze maszyna wirtualna z systemem Linux używana do trenowania.
- W oknie dialogowym Tworzenie nowego eksperymentu wybierz link Nowy obok listy rozwijanej Nazwa obliczeniowa .
- W oknie dialogowym Tworzenie nowego środowiska obliczeniowego wpisz "landuse-cpt" w polu tekstowym Nazwa obliczeniowa .
- Wybierz Standard_NC24 z listy rozwijanej Rozmiar obliczeniowy . Narzędzie Model Builder używa typów obliczeniowych zoptymalizowanych pod kątem procesora GPU. Zapoznaj się z dokumentacją maszyny wirtualnej z systemem Linux serii NC , aby uzyskać więcej informacji na temat typów obliczeniowych zoptymalizowanych pod kątem procesora GPU.
- Wybierz przycisk Utwórz. Aprowizacja zasobów obliczeniowych może potrwać kilka minut.
- Po zakończeniu procesu aprowizacji wybierz nowo utworzony obszar roboczy z listy rozwijanej Nazwa obliczeniowa w oknie dialogowym Tworzenie nowego eksperymentu.
- Wybierz przycisk Następny krok , aby załadować dane.
Ładowanie danych
- W kroku danych narzędzia Model Builder wybierz przycisk obok pola tekstowego Wybierz folder .
- Użyj Eksplorator plików, aby przeglądać i wybierać rozpakowany katalog zawierający obrazy.
- Wybierz przycisk Następny krok , aby przejść do następnego kroku w narzędziu Model Builder.
Trenowanie modelu
Trenowanie na platformie Azure jest dostępne tylko dla scenariusza klasyfikacji obrazów w programie Model Builder. Algorytm używany do trenowania tych modeli to głęboka sieć neuronowa oparta na architekturze ResNet50. Podczas procesu trenowania modelu konstruktor modeli szkoli oddzielne modele przy użyciu algorytmu i ustawień usługi ResNet50 w celu znalezienia najlepszego modelu dla zestawu danych.
Rozpocznij szkolenie
Po skonfigurowaniu obszaru roboczego i typu obliczeniowego nadszedł czas na ukończenie tworzenia eksperymentu i rozpoczęcie trenowania.
Kliknij przycisk Rozpocznij szkolenie .
Proces trenowania zajmuje trochę czasu, a czas może się różnić w zależności od rozmiaru wybranego środowiska obliczeniowego, a także ilości danych. Przy pierwszym trenowaniu modelu można oczekiwać nieco dłuższego czasu trenowania, ponieważ należy aprowizować zasoby. Postęp przebiegów można śledzić, wybierając link Monitoruj bieżący przebieg w Azure Portal w programie Visual Studio.
W trakcie procesu trenowania dane postępu są wyświetlane w sekcji Postęp kroku trenowania.
- Stan wyświetla stan ukończenia procesu trenowania.
- Najlepsza dokładność przedstawia dokładność najlepiej działającego modelu znalezionego do tej pory przez konstruktora modeli. Wyższa dokładność oznacza, że model przewidywał prawidłowoj dane testowe.
- Algorytm wyświetla nazwę najlepiej działającego algorytmu znalezionego do tej pory przez konstruktora modelu.
Po zakończeniu trenowania wybierz przycisk Następny krok , aby przejść do oceny modelu.
Ocena modelu
Wynikiem kroku trenowania jest jeden model, który miał najlepszą wydajność. W kroku oceny narzędzia Model Builder karta Szczegóły w sekcji danych wyjściowych będzie zawierać algorytm używany przez model najlepiej działający we wpisie Algorytm wraz z metrykami we wpisie Dokładność w sekcji Najlepsze szczegóły modelu .
Jeśli metryki dokładności nie są zadowalające, niektóre proste sposoby na wypróbowanie i poprawienie dokładności modelu to użycie większej ilości danych lub rozszerzenie istniejących danych. W przeciwnym razie wybierz przycisk Następny krok , aby przejść do ostatniego kroku w narzędziu Model Builder.
(Opcjonalnie) Korzystanie z modelu
Ten krok będzie zawierać szablony projektów, których można użyć do korzystania z modelu. Ten krok jest opcjonalny i można wybrać metodę najlepiej dopasowaną do Twoich potrzeb dotyczących sposobu obsługi modelu.
- Aplikacja konsolowa
- Interfejs API sieci Web
Aplikacja konsolowa
Podczas dodawania aplikacji konsolowej do rozwiązania zostanie wyświetlony monit o nadenie nazwy projektu.
Nadaj projektowi konsoli nazwę LandUse_Console.
Kliknij pozycję Dodaj do rozwiązania , aby dodać projekt do bieżącego rozwiązania.
Uruchom aplikację.
Dane wyjściowe wygenerowane przez program powinny wyglądać podobnie do poniższego fragmentu kodu:
Predicted Label value: AnnualCrop Predicted Label scores: [0.9941197,3.3146807E-06,4.4344174E-06,0.000101028825,7.763133E-06,0.0015898133,0.0040994748,1.6308518E-06,6.265567E-05,1.0236401E-05]
Interfejs API sieci Web
Podczas dodawania internetowego interfejsu API do rozwiązania zostanie wyświetlony monit o nadenie nazwy projektu.
Nadaj projektowi internetowego interfejsu API nazwę LandUse_API.
Kliknij pozycję Dodaj do rozwiązania , aby dodać projekt do bieżącego rozwiązania.
Uruchom aplikację.
Otwórz program PowerShell i wprowadź następujący kod, w którym port to port, na którym nasłuchuje aplikacja.
$body = @{ ImageSource = <Image location on your local machine> } Invoke-RestMethod "https://localhost:<PORT>/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"W przypadku powodzenia dane wyjściowe powinny wyglądać podobnie do poniższego tekstu.
output1 prediction score ------- ---------- ----- {9.508701, -3.1025503, -2.8115153, 0.31449434...} AnnualCrop {0.9941197, 3.3146807E-06, 4.4344174E-06, 0.00010102882...
Czyszczenie zasobów
Jeśli nie planujesz już korzystać z utworzonych zasobów platformy Azure, usuń je. Uniemożliwia to naliczanie opłat za nieużytowane zasoby, które są nadal uruchomione.
- Przejdź do Azure Portal i wybierz pozycję Grupy zasobów w menu portalu.
- Z listy grup zasobów wybierz utworzoną grupę zasobów. W tym przypadku jest to "landuse-rg".
- Wybierz pozycję Usuń grupę zasobów.
- Wpisz nazwę grupy zasobów "landuse-rg", w polu tekstowym, a następnie wybierz klawisz Enter.
Następne kroki
W niniejszym samouczku zawarto informacje na temat wykonywania następujących czynności:
- Przygotowywanie i interpretacja danych
- Tworzenie pliku konfiguracji konstruktora modeli
- Wybieranie scenariusza
- Ładowanie danych
- Tworzenie eksperymentu na platformie Azure
- Trenowanie modelu
- Ocena modelu
- Korzystanie z modelu
Wypróbuj jeden z innych scenariuszy konstruktora modeli:
