Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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ą narzędzia ML.NET Model Builder przekształcić zestaw obrazów w model klasyfikacji obrazów.
Tworzenie projektu
- Otwórz program Visual Studio i wybierz pozycję "utwórz nowy projekt".
- Na pasku wyszukiwania wpisz .NET, wybierz pozycję C# jako język i konsolę jako platformę, a następnie wybierz szablon projektu Aplikacja konsolowa języka C# (.NET Core).
- W oknie konfiguracji:
- Nadaj projektowi nazwę. Tutaj nazwaliśmy to MLNETTraining.
- Wybierz lokalizację projektu.
- Upewnij się, że
Place solution and project in the same directorynie jest zaznaczona. - Naciśnij
create, aby utworzyć projekt.
Konfigurowanie konstruktora modeli
Teraz dodasz konstruktora modelu do naszego projektu.
- Kliknij prawym przyciskiem myszy projekt MLNETTraining w Eksploratorze rozwiązań i wybierz pozycję
Add > Machine Learning.
W ten sposób otworzysz program ML.NET Model Builder w nowym zadokowanym oknie narzędziowym w programie Visual Studio. Narzędzie Model Builder przeprowadzi Cię przez proces tworzenia modelu uczenia maszynowego.
Pierwszym krokiem jest wybranie odpowiedniego scenariusza. Nie wszystkie scenariusze obsługują format ONNX.
Jeśli środowisko szkoleniowe to chmura platformy Azure, wygenerowane modele są w formacie ONNX i mogą być łatwo używane przez aplikację windows ML bez konwersji. Jeśli jednak zdecydujesz się trenować model uczenia maszynowego lokalnie na maszynie, wygenerowany model będzie mieć format ML.NET.
- Lokalne szkolenie na CPU jest obsługiwane dla wszystkich scenariuszy z wyjątkiem detekcji obiektów.
- Lokalne szkolenie przy użyciu GPU jest obsługiwane w przypadku klasyfikacji obrazów.
- Szkolenia Azure mają wsparcie dla klasyfikacji obrazów i wykrywania obiektów.
W tym samouczku wytrenujesz model klasyfikacji obrazów w środowisku trenowania platformy Azure. Model wyjściowy będzie mieć format ONNX. Do ukończenia szkolenia wymagane jest konto platformy Azure.
Wybierz scenariusz klasyfikacji obrazów.
Wybierz pozycję Skonfiguruj obszar roboczy, aby skonfigurować środowisko szkoleniowe platformy Azure.
W prawym górnym rogu zaloguj się do konta skojarzonego z subskrypcją platformy Azure. W menu poniżej:
- Wybierz odpowiednią subskrypcję.
- Wybierz i utwórz nowy obszar roboczy usługi Machine Learning.
- Wybierz lub utwórz nowy zasób obliczeniowy.
- Nadaj nazwę obszarowi roboczemu — ImageClassificationMLNET.
Ważne
Jeśli nie możesz utworzyć obszaru roboczego usługi Machine Learning z poziomu narzędzia Model Builder, wykonaj następujące kroki, aby ręcznie utworzyć obszar roboczy w witrynie Azure Portal. W przeciwnym razie możesz przejść do kroku 4.
Na koncie platformy Azure wybierz pozycję Utwórz zasób:
Na pasku wyszukiwania wyszukaj usługę Machine Learning.
Naciśnij Utwórz, aby utworzyć nowy obszar roboczy Machine Learning.
Aby utworzyć nowy obszar roboczy, musisz podać nazwę subskrypcji, wybrać lub utworzyć nową grupę zasobów, nadać nazwę obszarowi roboczemu i zdefiniować wszystkie wymagane parametry, takie jak region, konto magazynu itp.
Po ustanowieniu obszaru roboczego i utworzeniu nowego środowiska szkoleniowego w ML.NET możesz przejść do następnego kroku.
Poczekaj na zakończenie wdrażania usług Machine Learning Services.
Następnym krokiem jest dodanie danych do narzędzia Model Builder.
- Przejdź do lokalizacji zestawu danych obrazu i wybierz folder szkoleniowy z odpowiednimi kategoriami żywności. W tym samouczku wytrenujesz model do rozpoznawania pustyni, zup i owoców, więc potrzebujesz tylko tych kategorii w naszym folderze danych.
Teraz możesz przejść do części szkoleniowej!
Trenowanie modelu
Narzędzie Model Builder ocenia wiele modeli przy użyciu różnych algorytmów i ustawień, aby zapewnić najlepsze wyniki modelu.
- Wybierz przycisk Dalej, a następnie rozpocznij szkolenie, aby rozpocząć proces trenowania. Konstruktor modeli ML.Net rozpocznie się od przekazania danych na platformę Azure, przygotowania obszaru roboczego, a następnie zainicjowania procesu trenowania.
Po zakończeniu trenowania zostanie wyświetlone podsumowanie wyników trenowania.
Najlepsza dokładność — pokazuje dokładność najlepszego modelu znalezionego przez konstruktora modeli. Wyższa dokładność oznacza, że model przewidywał bardziej poprawnie na danych testowych. W naszym przypadku model może przewidzieć prawidłowy wynik z 95,42% ufności.
Ocena wyników
Przenieś następny krok, aby ocenić wyniki trenowania.
Wybierz obraz z folderu oceny zestawu danych i zapoznaj się z przewidywaniem.
Dodawanie modelu do rozwiązania
ML.NET Model Builder może automatycznie dodawać zarówno model uczenia maszynowego, jak i projekty do trenowania i używania modelu do rozwiązania.
- Przejdź do części zużyj procesu trenowania i sprzedaj pozycję Dodaj do rozwiązania. Spowoduje to dodanie wygenerowanego modelu do folderu rozwiązania.
W Eksploratorze rozwiązań powinny zostać wyświetlone pliki kodu wygenerowane przez konstruktora modelu, w tym model — bestModel.onnx w formacie ONNX.
Model wytrenowany w środowisku chmury platformy Azure, więc wygenerowany model jest w formacie ONNX.
Eksplorowanie modelu
Kliknij prawym przyciskiem myszy na plik bestModel.onnx i wybierz "Otwórz folder zawierający".
Otwórz plik modelu za pomocą programu Netron.
Naciśnij na węzeł input1, aby otworzyć właściwości modelu.
Jak widać, model wymaga obiektu tensora zmiennoprzecinkowego 32-bitowego (wielowymiarowej tablicy) jako danych wejściowych i zwraca tensora zmiennoprzecinkowego jako dane wyjściowe. Sposób skompilowania modelu nie zwraca wartości ciągu przewidywanej etykiety, ale tablicy trzech liczb, z których każda reprezentuje odpowiednią etykietę typu żywności. Należy wyodrębnić te wartości, aby pokazać poprawne przewidywanie za pomocą aplikacji Windows ML.
| Etykieta 1 | Etykieta 2 | Etykieta 3 |
|---|---|---|
| 0 | 1 | 2 |
| deser | zupa | Vegetable-Fruit |
Dalsze kroki
Teraz, gdy wytrenowałeś swój model uczenia maszynowego, możesz przystąpić do jego wdrażania w aplikacji UWP przy użyciu usługi Windows Machine Learning