Samouczek: trenowanie modelu klasyfikacji obrazów TensorFlow przy użyciu rozszerzenia azure Machine Edukacja Visual Studio Code (wersja zapoznawcza)

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure 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 usługi Azure Machine Edukacja Visual Studio Code.

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

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.

MNIST Digits

Tworzenie obszaru roboczego

Najpierw należy utworzyć aplikację w usłudze Azure Machine Edukacja, 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.

  1. Otwórz katalog azureml-examples/cli/jobs/single-step/tensorflow/mnist z repozytorium opartego na społeczności w programie Visual Studio Code.

  2. Na pasku działań programu Visual Studio Code wybierz ikonę platformy Azure, aby otworzyć widok usługi Azure Machine Edukacja.

  3. W widoku usługi Azure Machine Edukacja kliknij prawym przyciskiem myszy węzeł subskrypcji i wybierz pozycję Utwórz obszar roboczy.

    Create workspace

  4. 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 w WestUS2 regionie. Pozostałe opcje zdefiniowane w pliku specyfikacji zapewniają przyjazne nazewnictwo, opisy i tagi dla obszaru roboczego.

  5. 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.

  6. Ustaw TeamWorkspace jako domyślny obszar roboczy. Dzięki temu zasoby i zadania tworzone w obszarze roboczym są domyślnie tworzone. Wybierz przycisk Ustaw usługę Azure Machine Edukacja Workspace 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 Edukacja, które zawiera bibliotekę TensorFlow i inne zależności oprogramowania wymagane do uruchomienia skryptu szkoleniowego. Aby uzyskać więcej informacji na temat wyselekcjonowanych środowisk, zobacz Azure Machine Edukacja wyselekcjonowanych środowisk.

Aby przesłać zadanie szkoleniowe:

  1. Otwórz plik job.yml.
  2. 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.

Track experiment progress

Po zakończeniu trenowania modelu etykieta stanu obok węzła przebiegu zostanie zaktualizowana do pozycji "Ukończono".

Następne kroki