Azure Pipelines
Jednou z možností automatizace pracovních postupů je použití Azure Pipelines, která je součástí Azure DevOps Services. Pomocí Azure Pipelines můžete automaticky sestavovat, testovat a nasazovat kód.
V rámci projektu strojového učení můžete pomocí Azure Pipelines vytvořit jakékoli prostředky pracovního prostoru Azure Machine Learning, jako je samotný pracovní prostor, datové prostředky, výpočetní clustery nebo úlohy pro spouštění kanálů Azure Machine Learning.
Poznámka:
Pokud chcete používat Azure Pipelines s kanály Azure Machine Learning, musíte azure DevOps připojit k pracovnímu prostoru Azure Machine Learning prostřednictvím připojení ke službě.
Naučíte se používat Azure Pipelines ke spuštění kanálu Azure Machine Learning.
Vytvoření kanálu Azure
Azure Pipelines vám pomůže automatizovat práci provedením kroků při každém výskytu triggeru. Pokud chcete pomocí Služby Azure Pipelines automatizovat úlohy strojového učení, aktivujete kanál Služby Azure Machine Learning pomocí Služby Azure Pipelines.
- Aktivace kanálu Azure Běžně se mění úložiště (potvrzení nebo žádost o přijetí změn).
- Spusťte Azure Pipeline, skupinu úloh, které se skládají z kroků.
- Krok zahájí kanál služby Azure Machine Learning.
- Kanál Služby Azure Machine Learning spouští skripty nebo komponenty služby Azure Machine Learning.
- Skript nebo komponenta představuje úlohu strojového učení.
Pokud chcete vytvořit Azure Pipeline, definujete kroky, které chcete zahrnout do souboru YAML. Do souboru YAML kanálu Azure Pipeline zahrnete:
- Trigger: Jaká událost inicializuje kanál.
- Fáze: Skupina úloh, které jsou běžně v souladu s různými vývojovými prostředími (vývoj, testování nebo prod).
- Úloha: Sada kroků, které se spouští v agentu. U úloh strojového učení budete pravděpodobně používat agenta Ubuntu hostovaného Microsoftem.
- Krok: Skript nebo úkol, který chcete spustit. Například příkaz rozhraní příkazového řádku, který inicializuje kanál Služby Azure Machine Learning (
az ml job create
).
Tip
Přečtěte si další informace o klíčových konceptech používaných ve službě Azure Pipelines.
Pokud chcete spustit kanál Azure Machine Learning při jakékoli změně úložiště Azure, můžete použít soubor YAML takto:
trigger:
- main
stages:
- stage: deployDev
displayName: 'Deploy to development environment'
jobs:
- deployment: publishPipeline
displayName: 'Model Training'
pool:
vmImage: 'Ubuntu-18.04'
environment: dev
strategy:
runOnce:
deploy:
steps:
- template: aml-steps.yml
parameters:
serviceconnectionname: 'spn-aml-workspace-dev'
Úloha v kanálu používá aml-steps.yml
seznam kroků, které se mají provést. Ke spuštění kanálu Azure Machine Learning, který je definovaný v pipeline-job.yml
rozhraní příkazového řádku (v2). Pokud chcete kanál Azure Machine Learning spustit jako krok ve službě Azure Pipeline, provedete následující kroky:
- Nainstalujte rozšíření Azure Machine Learning pro rozhraní příkazového řádku.
az ml job create
Pomocí příkazu spusťte úlohu kanálu ve službě Azure Machine Learning.
Soubor aml-steps.yml
pro instalaci a inicializace úlohy Azure Machine Learning může vypadat takto:
parameters:
- name: serviceconnectionname
default: ''
steps:
- checkout: self
- script: az extension add -n ml -y
displayName: 'Install Azure ML CLI v2'
- task: AzureCLI@2
inputs:
azureSubscription: ${{ parameters.serviceconnectionname }}
scriptType: bash
scriptLocation: inlineScript
workingDirectory: $(Build.SourcesDirectory)
inlineScript: |
cd src
az ml job create --file aml_service/pipeline-job.yml --resource-group dev-ml-rg --workspace-name dev-ml-ws
displayName: 'Run Azure Machine Learning Pipeline'
Jak je znázorněno v příkladu, můžete použít parametry v definicích kanálu (například serviceconnectionname
) k tomu, aby byly soubory YAML opakovaně použitelné pro jiné projekty.
Spuštění kanálu pomocí Azure DevOps
Po vytvoření souborů YAML a jeho uložení v úložišti Azure můžete nakonfigurovat Azure DevOps tak, aby kanál spustil.
- V Azure DevOps přejděte na kartu Pipelines (Kanály ) a vyberte Pipelines (Kanály).
- Vytvořte nový kanál.
- Jako umístění kódu vyberte Git Azure Repos.
- Zvolte úložiště, které obsahuje váš kód.
- Zvolte existující soubor YAML služby Azure Pipelines .
- Zvolte cestu, která odkazuje na soubor YAML, který jste vytvořili pro Azure Pipeline.
- Po kontrole kanálu můžete kanál uložit a spustit.
Kanál se aktivuje potvrzením do hlavní větve. Když kanál nakonfigurujete, Azure Pipelines potvrdí změnu do hlavní větve, která aktivuje první spuštění kanálu. Kdykoli po nastavení můžete kanál aktivovat nasdílením potvrzení do úložiště ze sady Visual Studio Code nebo Azure Repos.
Když vyberete úlohu, můžete zobrazit její proces. Každý krok v úloze se projeví v navigačním podokně vlevo. V přehledu se dozvíte, které kroky se úspěšně spustily a které selhaly. Všechny potenciální chybové zprávy se zobrazí v rozhraní příkazového řádku při výběru daného kroku. Když si projdete výstup, budete moct chybu vyřešit.
Když úloha aktivuje spuštění kanálu Azure Machine Learning, budete moct také zkontrolovat spuštění kanálu v pracovním prostoru Azure Machine Learning a zobrazit všechny metriky nebo chyby, které by vás mohly zajímat.