Trénování modelu klasifikace obrázků TensorFlow pomocí rozšíření Azure Machine Learning Visual Studio Code (Preview)
PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)
Naučte se trénovat model klasifikace obrázků tak, aby rozpoznával ručně napsaná čísla pomocí TensorFlow a rozšíření Visual Studio Code pro Azure Machine Learning.
Důležité
Tato funkce je v současné době ve verzi Public Preview. Tato verze Preview se poskytuje bez smlouvy o úrovni služeb a nedoporučuje se 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 provádět následující úlohy:
- Vysvětlení kódu
- Vytvoření pracovního prostoru
- Vytvoření clusteru GPU pro trénování
- Učení modelu
Požadavky
- Předplatné Azure. Pokud ji nemáte, zaregistrujte se a vyzkoušejte bezplatnou nebo placenou verzi služby Azure Machine Learning. Pokud používáte bezplatné předplatné, podporují se jenom clustery procesoru.
- Nainstalujte Visual Studio Code, jednoduchý editor kódu pro různé platformy.
- Rozšíření Azure Machine Learning Studio Visual Studio Code. Pokyny k instalaci najdete v průvodci nastavením rozšíření pro Visual Studio Code pro Azure Machine Learning.
- ROZHRANÍ PŘÍKAZOVÉHO ŘÁDKU (v2). Pokyny k instalaci najdete v tématu Instalace, nastavení a používání rozhraní příkazového řádku (v2).
- Klonování úložiště řízeného komunitou
git clone https://github.com/Azure/azureml-examples.git
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. Dělá to tak, že vytvoří neurální síť, která jako vstup vezme pixelové hodnoty obrázku o rozměrech 28 × 28 px a vypíše seznam 10 pravděpodobností, jednu pro každou z klasifikovaných číslic. Níže je ukázka toho, jak data vypadají.
Vytvoření pracovního prostoru
První věc, kterou musíte udělat, abyste vytvořili aplikaci ve službě Azure Machine Learning, je vytvořit pracovní prostor. Pracovní prostor obsahuje prostředky pro trénování modelů i samotné natrénované modely. Další informace najdete v tématu Co je pracovní prostor.
Otevřete adresář azureml-examples/cli/jobs/single-step/tensorflow/mnist z úložiště řízeného komunitou v editoru Visual Studio Code.
Na panelu aktivit editoru Visual Studio Code výběrem ikony Azure otevřete zobrazení Služby Azure Machine Learning.
V zobrazení Azure Machine Learning klikněte pravým tlačítkem na uzel předplatného a vyberte Vytvořit pracovní prostor.
Zobrazí se soubor specifikace. Nakonfigurujte soubor specifikace s následujícími možnostmi.
$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 s názvem
TeamWorkspace
vWestUS2
oblasti. Zbývající možnosti definované v souboru specifikace poskytují popisné názvy, popisy a značky pracovního prostoru.Klikněte pravým tlačítkem na soubor specifikace a vyberte AzureML: Spustit YAML. Při vytváření prostředku se používají možnosti konfigurace definované v souboru specifikace YAML a odešle se úloha pomocí rozhraní příkazového řádku (verze 2). V tomto okamžiku se do Azure vytvoří žádost o 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.
Nastavte
TeamWorkspace
jako výchozí pracovní prostor. Tím ve výchozím nastavení umístíte prostředky a úlohy, které vytvoříte v pracovním prostoru. Na stavovém řádku editoru Visual Studio Code vyberte tlačítko Nastavit pracovní prostor služby Azure Machine Learning a podle pokynů nastavteTeamWorkspace
jako výchozí pracovní prostor.
Další informace o pracovních prostorech najdete v tématu Správa prostředků ve VS Code.
Vytvoření clusteru GPU pro trénování
Cílový výpočetní objekt je výpočetní prostředek nebo prostředí, ve kterém spouštíte trénovací úlohy. Další informace najdete v dokumentaci k cílovým výpočetním objektům služby Azure Machine Learning.
V zobrazení Azure Machine Learning rozbalte uzel pracovního prostoru.
Klikněte pravým tlačítkem na uzel Výpočetní clustery uvnitř uzlu Compute vašeho pracovního prostoru a vyberte Vytvořit výpočetní prostředky.
Zobrazí se soubor specifikace. Nakonfigurujte soubor specifikace s následujícími možnostmi.
$schema: https://azuremlschemas.azureedge.net/latest/compute.schema.json name: gpu-cluster type: amlcompute size: Standard_NC12 min_instances: 0 max_instances: 3 idle_time_before_scale_down: 120
Soubor specifikace vytvoří cluster GPU s názvem
gpu-cluster
s maximálně 3 Standard_NC12 uzly virtuálních počítačů, které se po 120 sekundách nečinnosti automaticky škálují na 0 uzlů.Další informace o velikostech virtuálních počítačů najdete v tématu Velikosti virtuálních počítačů s Linuxem v Azure.
Klikněte pravým tlačítkem na soubor specifikace a vyberte AzureML: Spustit YAML.
Po několika minutách se nový cílový výpočetní objekt zobrazí v uzlu Výpočetní > clustery vašeho pracovního prostoru.
Trénování modelu klasifikace obrázků
Během trénování se model TensorFlow trénuje zpracováním trénovacích dat a vzorců učení, které jsou v něm vloženy pro každou z příslušných klasifikovaných číslic.
Podobně jako pracovní prostory a cíle výpočetních prostředků se trénovací úlohy definují pomocí šablon prostředků. Pro tuto ukázku je specifikace definována v souboru job.yml , který vypadá takto:
$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
compute: azureml:gpu-cluster
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 s názvem tensorflow-mnist-example
do nedávno vytvořeného gpu-cluster
cílového počítače, který spustí kód ve skriptu train.py Pythonu. Použité prostředí je jedno 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 tématu Kurátorovaná prostředí azure Machine Learning.
Odeslání trénovací úlohy:
- Otevřete soubor job.yml .
- Klikněte pravým tlačítkem na soubor v textovém editoru a vyberte AzureML: Spustit 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 trvání spuštění trénovací úlohy je ovlivněná několika faktory, jako je typ výpočetních prostředků a velikost trénovacích dat. Pokud chcete sledovat průběh experimentu, klikněte pravým tlačítkem na uzel aktuálního spuštění a vyberte Zobrazit úlohu v Azure Portal.
Když se zobrazí dialogové okno s žádostí o otevření externího webu, vyberte Otevřít.
Po dokončení trénování modelu se popisek stavu vedle uzlu spuštění aktualizuje na Dokončeno.
Další kroky
V tomto kurzu se naučíte provádět následující úlohy:
- Vysvětlení kódu
- Vytvoření pracovního prostoru
- Vytvoření clusteru GPU pro trénování
- Učení modelu
Další kroky najdete tady:
- Vytvářejte a spravujte prostředky služby Azure Machine Learning pomocí editoru Visual Studio Code.
- Připojte Visual Studio Code k výpočetní instanci , abyste mohli plně využít prostředí pro vývoj.
- Návod, jak místně upravovat, spouštět a ladit kód, najdete v kurzu Hello-world pro Python.
- Spusťte poznámkové bloky Jupyter v editoru Visual Studio Code pomocí vzdáleného serveru Jupyter.
- Návod k trénování s využitím služby Azure Machine Learning mimo Visual Studio Code najdete v tématu Kurz: Trénování a nasazení modelu pomocí služby Azure Machine Learning.