Samouczek: trenowanie modelu klasyfikacji obrazów TensorFlow przy użyciu rozszerzenia programu Visual Studio Code usługi Azure Machine Learning (wersja zapoznawcza)
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
Dowiedz się, jak wytrenować model klasyfikacji obrazów w celu rozpoznawania ręcznie napisanych liczb przy użyciu biblioteki TensorFlow i rozszerzenia programu Visual Studio Code usługi Azure Machine Learning.
Ważne
Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone.
Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
W tym samouczku nauczysz się wykonywać następujące zadania:
- Zrozumienie kodu
- Tworzenie obszaru roboczego
- Szkolenie modelu
Wymagania wstępne
- Subskrypcja platformy Azure. Jeśli go nie masz, zarejestruj się, aby wypróbować bezpłatną lub płatną wersję usługi Azure Machine Learning. Jeśli używasz bezpłatnej subskrypcji, obsługiwane są tylko klastry procesora CPU.
- Zainstaluj program Visual Studio Code, uproszczony edytor kodu dla wielu platform.
- Rozszerzenie programu Visual Studio Visual Studio Dla usługi Azure Machine Learning Studio. Aby uzyskać instrukcje dotyczące instalacji, zobacz Przewodnik konfigurowania rozszerzenia programu Visual Studio Code w usłudze Azure Machine Learning
- Interfejs wiersza polecenia (wersja 2). Aby uzyskać instrukcje dotyczące instalacji, zobacz Instalowanie, konfigurowanie i używanie interfejsu wiersza polecenia (wersja 2)
- Klonowanie repozytorium opartego na społeczności
git clone https://github.com/Azure/azureml-examples.git
Zrozumienie kodu
Kod w tym samouczku używa biblioteki TensorFlow do trenowania modelu uczenia maszynowego klasyfikacji obrazów, który kategoryzuje cyfry odręczne z zakresu od 0 do 9. Robi to, tworząc sieć neuronową, która przyjmuje wartości pikseli 28 pikseli x 28 pikseli jako dane wejściowe i wyprowadza listę 10 prawdopodobieństwa, po jednym dla każdej sklasyfikowanej cyfry. Jest to przykład tego, jak wyglądają dane.
Tworzenie obszaru roboczego
Najpierw musisz utworzyć aplikację w usłudze Azure Machine Learning, aby utworzyć obszar roboczy. Obszar roboczy zawiera zasoby do trenowania modeli i wytrenowanych modeli. Aby uzyskać więcej informacji, zobacz , co to jest obszar roboczy.
Otwórz katalog azureml-examples/cli/jobs/single-step/tensorflow/mnist z repozytorium opartego na społeczności w programie Visual Studio Code.
Na pasku działań programu Visual Studio Code wybierz ikonę platformy Azure , aby otworzyć widok usługi Azure Machine Learning.
W widoku Usługi Azure Machine Learning kliknij prawym przyciskiem myszy węzeł subskrypcji i wybierz pozycję Utwórz obszar roboczy.
Zostanie wyświetlony plik specyfikacji. Skonfiguruj plik specyfikacji przy użyciu następujących opcji.
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json name: TeamWorkspace location: WestUS2 display_name: team-ml-workspace description: A workspace for training machine learning models tags: purpose: training team: ml-team
Plik specyfikacji tworzy obszar roboczy o nazwie
TeamWorkspace
wWestUS2
regionie. Pozostałe opcje zdefiniowane w pliku specyfikacji zapewniają przyjazne nazewnictwo, opisy i tagi dla obszaru roboczego.Kliknij prawym przyciskiem myszy plik specyfikacji i wybierz pozycję AzureML: Wykonaj plik YAML. Tworzenie zasobu używa opcji konfiguracji zdefiniowanych w pliku specyfikacji YAML i przesyła zadanie przy użyciu interfejsu wiersza polecenia (wersja 2). W tym momencie na platformie Azure zostanie wykonane żądanie utworzenia nowego obszaru roboczego i zasobów zależnych na twoim koncie. Po kilku minutach nowy obszar roboczy zostanie wyświetlony w węźle subskrypcji.
Ustaw
TeamWorkspace
jako domyślny obszar roboczy. Dzięki temu zasoby i zadania tworzone w obszarze roboczym są domyślnie tworzone. Wybierz przycisk Ustaw obszar roboczy usługi Azure Machine Learning na pasku stanu programu Visual Studio Code i postępuj zgodnie z monitami, aby ustawićTeamWorkspace
jako domyślny obszar roboczy.
Aby uzyskać więcej informacji na temat obszarów roboczych, zobacz jak zarządzać zasobami w programie VS Code.
Szkolenie modelu
Podczas procesu trenowania model TensorFlow jest trenowany przez przetwarzanie danych treningowych i wzorców uczenia osadzonych w nim dla każdej z nich sklasyfikowanych cyfr.
Podobnie jak obszary robocze i cele obliczeniowe, zadania szkoleniowe są definiowane przy użyciu szablonów zasobów. W tym przykładzie specyfikacja jest zdefiniowana w pliku job.yml , który wygląda następująco:
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >
python train.py
environment: azureml:AzureML-tensorflow-2.4-ubuntu18.04-py37-cuda11-gpu:48
resources:
instance_type: Standard_NC12
instance_count: 3
experiment_name: tensorflow-mnist-example
description: Train a basic neural network with TensorFlow on the MNIST dataset.
Ten plik specyfikacji przesyła zadanie szkoleniowe o nazwie tensorflow-mnist-example
do ostatnio utworzonego gpu-cluster
obiektu docelowego komputera, które uruchamia kod w train.py skryptu języka Python. Używane środowisko jest jednym z wyselekcjonowanych środowisk udostępnianych przez usługę Azure Machine Learning, które zawiera bibliotekę TensorFlow i inne zależności oprogramowania wymagane do uruchomienia skryptu trenowania. Aby uzyskać więcej informacji na temat wyselekcjonowanych środowisk, zobacz Azure Machine Learning wyselekcjonowane środowiska.
Aby przesłać zadanie szkoleniowe:
- Otwórz plik job.yml.
- Kliknij prawym przyciskiem myszy plik w edytorze tekstów i wybierz pozycję AzureML: Wykonaj plik YAML.
Na tym etapie żądanie jest wysyłane na platformę Azure w celu uruchomienia eksperymentu na wybranym obiekcie docelowym obliczeniowym w obszarze roboczym. Ten proces trwa kilka minut. Wpływ na czas uruchamiania zadania szkoleniowego ma wpływ kilka czynników, takich jak typ obliczeniowy i rozmiar danych treningowych. Aby śledzić postęp eksperymentu, kliknij prawym przyciskiem myszy bieżący węzeł przebiegu i wybierz polecenie Wyświetl zadanie w witrynie Azure Portal.
Po wyświetleniu okna dialogowego z prośbą o otwarcie zewnętrznej witryny internetowej wybierz pozycję Otwórz.
Po zakończeniu trenowania modelu etykieta stanu obok węzła przebiegu zostanie zaktualizowana do pozycji "Ukończono".
Następne kroki
- Uruchamianie programu Visual Studio Code zintegrowanego z usługą Azure Machine Learning (wersja zapoznawcza)
- Aby zapoznać się z przewodnikiem dotyczącym sposobu lokalnego edytowania, uruchamiania i debugowania kodu, zobacz samouczek hello-world języka Python.
- Uruchamianie notesów Jupyter w programie Visual Studio Code przy użyciu zdalnego serwera Jupyter.
- Aby zapoznać się z przewodnikiem dotyczącym trenowania za pomocą usługi Azure Machine Learning poza programem Visual Studio Code, zobacz Samouczek: trenowanie i wdrażanie modelu za pomocą usługi Azure Machine Learning.