Sdílet prostřednictvím


Kurz: Trénování modelu klasifikace obrázků pomocí rozšíření Azure Machine Learning Visual Studio Code (Preview)

PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)

Tento článek vysvětluje, jak vytrénovat model klasifikace obrázků tak, aby rozpoznával ručně napsaná čísla pomocí TensorFlowu a rozšíření editoru Visual Studio Code pro Azure Machine Learning.

Důležité

Tato funkce je v současné době ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti.

Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

V tomto kurzu se naučíte následující úlohy:

  • Vysvětlení kódu
  • Vytvoření pracovního prostoru
  • Učení modelu

Požadavky

Vysvětlení kódu

Kód pro tento kurz používá TensorFlow k trénování modelu strojového učení klasifikace obrázků, který kategorizuje ručně psané číslice od 0 do 9. Provede to tak, že je vytvořena neurální síť, která vezme hodnoty pixelů ze snímků o velikosti 28 × 28 pixelů jako vstup, a pak vygeneruje seznam 10 hodnot pravděpodobností, každé pro klasifikovanou číslici. Následující ukázka ukazuje, jak data vypadají.

Snímek obrazovky znázorňující ukázku číslic MNIST

Vytvoření pracovního prostoru

Pokud chcete vytvořit aplikaci ve službě Azure Machine Learning, musíte nejprve vytvořit pracovní prostor. Pracovní prostor obsahuje prostředky pro trénování modelů a také samotné natrénované modely. Další informace najdete v tématu Co je pracovní prostor Azure Machine Learning?

  1. V editoru Visual Studio Code otevřete adresář azureml-examples/cli/jobs/single-step/tensorflow/mnist z úložiště příkladů.

  2. Na panelu aktivit editoru Visual Studio Code výběrem ikony Azure otevřete zobrazení Azure Machine Learning.

  3. V sekci Machine Learning klikněte pravým tlačítkem na uzel předplatného a vyberte Vytvořit pracovní prostor.

    Snímek obrazovky znázorňující možnost vytvoření pracovního prostoru

  4. Zobrazí se soubor specifikace. Nakonfigurujte soubor specifikace s následujícími možnostmi a uložte ho.

    $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
    

    Soubor specifikace vytvoří pracovní prostor volaný TeamWorkspace v WestUS2 oblasti. Zbývající možnosti definované v souboru specifikace poskytují popisné názvy, popisy a značky pro pracovní prostor.

  5. Klikněte pravým tlačítkem na soubor specifikace a vyberte AzureML: Spusťte YAML. Vytvoření prostředku používá možnosti konfigurace definované v souboru specifikace YAML a odešle úlohu pomocí rozhraní příkazového řádku (v2). V tomto okamžiku se v Azure vytvoří požadavek na vytvoření nového pracovního prostoru a závislých prostředků ve vašem účtu. Po několika minutách se nový pracovní prostor zobrazí v uzlu předplatného.

  6. Nastavte TeamWorkspace jako výchozí pracovní prostor. Tím umístíte prostředky a úlohy, které v pracovním prostoru vytvoříte ve výchozím nastavení. Na stavovém řádku editoru Visual Studio Code vyberte tlačítko Nastavit pracovní prostor Služby Azure Machine Learning a podle pokynů nastavte TeamWorkspace jako výchozí pracovní prostor.

Další informace o pracovních prostorech najdete v tématu Správa prostředků služby Azure Machine Learning pomocí rozšíření VS Code.

Trénování modelu

Během trénování se model TensorFlow vytrénuje zpracováním trénovacích dat a vzorů učení vložených do něj pro každou z příslušných číslic, které se klasifikují.

Podobně jako pracovní prostory a cílové výpočetní objekty se trénovací úlohy definují pomocí šablon prostředků. Pro tuto ukázku se specifikace definuje v souboru job.yml , který se nachází ve složce azureml-examples/cli/jobs/single-step/tensorflow/mnist v úložišti příkladů.

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

Tento soubor specifikace odešle trénovací úlohu volanou tensorflow-mnist-example do nedávno vytvořeného gpu-cluster cíle počítače, který spustí kód ve skriptu train.py Pythonu. Použité prostředí je jedním z kurátorovaných prostředí poskytovaných službou Azure Machine Learning, která obsahuje TensorFlow a další softwarové závislosti potřebné ke spuštění trénovacího skriptu. Další informace o kurátorovaných prostředích najdete v kurátorovaných prostředích služby Azure Machine Learning.

Odeslání trénovací úlohy:

  1. Otevřete soubor job.yml.
  2. Klikněte pravým tlačítkem na soubor v textovém editoru a vyberte AzureML: Spusťte YAML.

V tomto okamžiku se do Azure odešle žádost o spuštění experimentu na vybraném cílovém výpočetním objektu ve vašem pracovním prostoru. Tento proces trvá několik minut. Doba spuštění trénovací úlohy má vliv na několik faktorů, jako je výpočetní typ a velikost trénovacích dat. Pokud chcete sledovat průběh experimentu, klikněte pravým tlačítkem myši na aktuální uzel spuštění a vyberte Zobrazit úlohu na webu Azure Portal.

Když se zobrazí dialogové okno s žádostí o otevření externího webu, vyberte Otevřít.

Snímek obrazovky znázorňující průběh úlohy

Po dokončení trénování modelu se popisek stavu vedle uzlu spuštění aktualizuje na Dokončeno.