Vytváření úloh Azure Machine Learning

Dokončeno

Prvním krokem k zprovoznění modelu strojového učení je jeho spuštění jako úloha Azure Machine Learning. Jednotlivé skripty můžete spouštět jako úlohy příkazů nebo skupiny skriptů jako úlohu kanálu .

Tým datových věd vám poskytne svou práci v poznámkovém bloku Jupyter, ve kterém se načítají, transformují a trénují data. Pokud chcete připravit kód a model pro produkční prostředí, budete muset:

  • Refaktoring poznámkového bloku na skripty
  • Projděte si skripty v definici úlohy.
  • Aktivujte úlohu pro trénování modelu.

Refaktoring kódu na skripty

Pokud chcete model strojového učení připravit na produkční prostředí, měli byste nejprve připravit kód na produkční prostředí. Pokud máte poznámkový blok Jupyter, který je potřeba převést na produkční kód, budete muset:

  • Vyčistěte žádný zásadní kód.
  • Exportujte kód do skriptů Pythonu.
  • Používejte funkce ve skriptech.

Používáním funkcí ve skriptech bude jednodušší otestovat kvalitu kódu. Pokud máte skript, který chcete spustit, můžete ke spuštění kódu použít úlohu Azure Machine Learning.

Definování úlohy Azure Machine Learning

Pokud chcete definovat úlohu ve službě Azure Machine Learning, můžete vytvořit soubor YAML. Bez ohledu na to, jestli chcete spustit jeden skript jako úlohu příkazu, nebo více skriptů postupně jako kanál. U úloh příkazů i kanálů budete muset vytvořit soubor YAML, který podrobně popisuje:

  • Které skripty se mají spustit.
  • Jaké jsou vstupy a výstupy pro každý skript.
  • Výpočetní prostředky, které se použijí ke spuštění skriptů.
  • Prostředí, které je potřeba nainstalovat do výpočetních prostředků pro spuštění skriptů.

Příklad úlohy příkazu, která při spuštění main.py skriptu používá zaregistrovaný datový asset jako vstup, se zobrazí v následujícím jazyce YAML:

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
  python main.py 
  --diabetes-csv ${{inputs.diabetes}}
inputs:
  diabetes:
    path: azureml:diabetes-data:1
    mode: ro_mount
environment: azureml:basic-env-scikit@latest
compute: azureml:aml-instance
experiment_name: diabetes-data-example
description: Train a classification model on diabetes data using a registered dataset as input.

V souboru YAML najdete potřebné podrobnosti, které potřebujete zahrnout:

  • Odkazuje code na místní složku, do které se ukládají skripty, které chcete spustit. Klíč command určuje, že main.py se má spustit skript ve src složce pomocí hodnoty inputs.diabetes parametru diabetes-csv .
  • Verze 1 registrovaného datového prostředku diabetes-data v pracovním prostoru Azure Machine Learning se připojí k výpočetním prostředkům, které se použijí jako vstup pro skript.
  • Výpočetní instance aml-instance se použije ke spuštění skriptů.
  • Před spuštěním skriptu se do výpočetní instance nainstaluje nejnovější verze registrovaného vlastního basic-env-scikit prostředí.

Pokud chcete otestovat definici YAML úlohy, můžete ji aktivovat pomocí rozhraní příkazového řádku v2.

Aktivace úlohy Azure Machine Learning

Kdykoli chcete spustit úlohu Azure Machine Learning, můžete použít rozhraní příkazového řádku v2. Rozhraní příkazového řádku verze 2 můžete nainstalovat na místní zařízení nebo můžete použít Azure Cloud Shell.

Bez ohledu na to, jestli chcete aktivovat spuštění z místního zařízení nebo pomocí Azure Cloud Shellu, musíte nejdřív nainstalovat rozšíření Azure Machine Learning.

K instalaci ve Windows použijte následující příkaz:

az extension add -n ml -y

Po instalaci rozšíření Azure Machine Learning pro rozhraní příkazového řádku a přístup k předplatnému Azure, se kterým chcete pracovat, můžete úlohu Azure Machine Learning odeslat pomocí následujícího příkazu:

az ml job create --file job.yml

Poznámka:

Další informace o správě úloh Azure Machine Learning pomocí rozhraní příkazového řádku (v2) najdete v referenční dokumentaci k úlohě az ml.