Jelentkezzen be az Azure Pipelinesba. A bejelentkezés után a böngésző megtekinti https://dev.azure.com/my-organization-name és megjeleníti az Azure DevOps-irányítópultot.
A kijelölt szervezeten belül hozzon létre egy projektet. Ha nem rendelkezik projekttel a szervezetében, megjelenik egy Projekt létrehozása az első lépések képernyőre. Ellenkező esetben válassza az Új projekt gombot az irányítópult jobb felső sarkában.
Azure Resource Manager-kapcsolatra van szüksége az Azure Portalon való hitelesítéshez.
Az Azure DevOpsban válassza a Projektbeállítások lehetőséget , és nyissa meg a Szolgáltatáskapcsolatok lapot.
Válassza a Szolgáltatáskapcsolat létrehozása lehetőséget, és válassza az Azure Resource Managert.
Válassza ki az alapértelmezett hitelesítési módszert, a Szolgáltatásnév (automatikus) lehetőséget.
Hozza létre a szolgáltatáskapcsolatot. Adja meg a kívánt hatókörszintet, előfizetést, erőforráscsoportot és kapcsolatnevet.
Az Azure DevOpsban válassza a Projektbeállítások lehetőséget , és nyissa meg a Szolgáltatáskapcsolatok lapot.
Válassza a Szolgáltatáskapcsolat létrehozása lehetőséget, és válassza az Általános lehetőséget.
Használja https://management.azure.com és adja meg a szolgáltatáskapcsolat nevét. Ne adjon meg hitelesítéssel kapcsolatos információkat.
Hozza létre a szolgáltatáskapcsolatot.
4. lépés: Folyamat létrehozása
Lépjen a Folyamatok elemre, majd válassza a folyamat létrehozása lehetőséget.
Végezze el a varázsló lépéseit úgy, hogy először a GitHubot választja a forráskód helyeként.
Előfordulhat, hogy a rendszer átirányítja a GitHubra a bejelentkezéshez. Ha igen, adja meg a GitHub hitelesítő adatait.
Amikor megjelenik az adattárak listája, válassza ki az adattárat.
Előfordulhat, hogy a Rendszer átirányítja a GitHubra az Azure Pipelines alkalmazás telepítéséhez. Ha igen, válassza a Jóváhagyás > telepítés lehetőséget.
Válassza ki a Starter-folyamatot. Frissíteni fogja a kezdőfolyamat-sablont.
5. lépés: A YAML-folyamat létrehozása az Azure Machine Learning-feladat elküldéséhez
Törölje a kezdőfolyamatot, és cserélje le a következő YAML-kódra. Ebben a folyamatban a következőt fogja:
A Python verziófeladatával állítsa be a Python 3.8-at, és telepítse az SDK-követelményeket.
A Bash-feladattal bash-szkripteket futtathat az Azure Machine Learning SDK-hoz és a parancssori felülethez.
Azure Machine Learning-feladat elküldése az Azure CLI-feladattal.
Válassza az alábbi lapokat attól függően, hogy Azure Resource Manager-szolgáltatáskapcsolatot vagy általános szolgáltatáskapcsolatot használ. A folyamat YAML-ben cserélje le a változók értékét az erőforrásokra.
name: submit-azure-machine-learning-job
trigger:
- none
variables:
service-connection: 'machine-learning-connection' # replace with your service connection name
resource-group: 'machinelearning-rg' # replace with your resource group name
workspace: 'docs-ws' # replace with your workspace name
jobs:
- job: SubmitAzureMLJob
displayName: Submit AzureML Job
timeoutInMinutes: 300
pool:
vmImage: ubuntu-latest
steps:
- task: UsePythonVersion@0
displayName: Use Python >=3.8
inputs:
versionSpec: '>=3.8'
- bash: |
set -ex
az version
az extension add -n ml
displayName: 'Add AzureML Extension'
- task: AzureCLI@2
name: submit_azureml_job_task
displayName: Submit AzureML Job Task
inputs:
azureSubscription: $(service-connection)
workingDirectory: 'cli/jobs/pipelines-with-components/nyc_taxi_data_regression'
scriptLocation: inlineScript
scriptType: bash
inlineScript: |
# submit component job and get the run name
job_name=$(az ml job create --file single-job-pipeline.yml -g $(resource-group) -w $(workspace) --query name --output tsv)
# Set output variable for next task
echo "##vso[task.setvariable variable=JOB_NAME;isOutput=true;]$job_name"
name: submit-azure-machine-learning-job
trigger:
- none
variables:
subscription_id: 'aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e' # replace with your subscription id
service-connection: 'generic-machine-learning-connection' # replace with your generic service connection name
resource-group: 'machinelearning-rg' # replace with your resource group name
workspace: 'docs-ws' # replace with your workspace name
jobs:
- job: SubmitAzureMLJob
displayName: Submit AzureML Job
timeoutInMinutes: 300
pool:
vmImage: ubuntu-latest
steps:
- task: UsePythonVersion@0
displayName: Use Python >=3.8
inputs:
versionSpec: '>=3.8'
- bash: |
set -ex
az version
az extension add -n ml
az login --identity
az account set --subscription $(subscription_id)
displayName: 'Add AzureML Extension and get identity'
- task: AzureCLI@2
name: submit_azureml_job_task
displayName: Submit AzureML Job Task
inputs:
workingDirectory: 'cli/jobs/pipelines-with-components/nyc_taxi_data_regression'
scriptLocation: inlineScript
scriptType: bash
inlineScript: |
# submit component job and get the run name
job_name=$(az ml job create --file single-job-pipeline.yml -g $(resource-group) -w $(workspace) --query name --output tsv)
# Set output variable for next task
echo "##vso[task.setvariable variable=JOB_NAME;isOutput=true;]$job_name"
# Get a bearer token to authenticate the request in the next job
export aadToken=$(az account get-access-token --resource=https://management.azure.com --query accessToken -o tsv)
echo "##vso[task.setvariable variable=AAD_TOKEN;isOutput=true;issecret=true]$aadToken"
6. lépés: Várakozás az Azure Machine Learning-feladat befejezésére
Az 5. lépésben hozzáadott egy feladatot egy Azure Machine Learning-feladat elküldéséhez. Ebben a lépésben hozzáad egy másik feladatot, amely megvárja az Azure Machine Learning-feladat befejezését.
Ha Azure Resource Manager-szolgáltatáskapcsolatot használ, használhatja a "Machine Learning" bővítményt. Ezt a bővítményt az Azure DevOps-bővítmények piacterén keresheti meg, vagy közvetlenül a bővítményre léphet. Telepítse a "Machine Learning" bővítményt.
Fontos
Ne telepítse véletlenül a Machine Learning (klasszikus) bővítményt; ez egy régebbi bővítmény, amely nem biztosítja ugyanazt a funkciót.
A Folyamat áttekintése ablakban adjon hozzá egy kiszolgálói feladatot. A feladat lépései között válassza az Asszisztens megjelenítése lehetőséget, és keresse meg az AzureML-t. Válassza ki az AzureML-feladat várakozási feladatát, és adja meg a feladat adatait.
A tevékenység négy bemenettel rendelkezik: Service Connection, AzureML Workspace NameAzure Resource Group Nameés AzureML Job Name. Töltse ki ezeket a bemeneteket. A következő lépésekhez kapott YAML hasonló a következő példához:
Megjegyzés
Az Azure Machine Learning-feladat várakozási feladata egy kiszolgálói feladaton fut, amely nem használ drága ügynökkészlet-erőforrásokat, és nem igényel további díjakat. A kiszolgálói feladatok (jelezve pool: server) ugyanazon a gépen futnak, mint a folyamat. További információ: Kiszolgálói feladatok.
Egy Azure Machine Learning-feladat várakozási feladata csak egy feladaton várakozhat. Minden várni kívánt feladathoz külön feladatot kell beállítania.
Az Azure Machine Learning-feladat várakozási feladata legfeljebb 2 napig várakozhat. Ez az Azure DevOps Pipelines által meghatározott korlát.
- job: WaitForAzureMLJobCompletion
displayName: Wait for AzureML Job Completion
pool: server
timeoutInMinutes: 0
dependsOn: SubmitAzureMLJob
variables:
# We are saving the name of azureMl job submitted in previous step to a variable and it will be used as an inut to the AzureML Job Wait task
azureml_job_name_from_submit_job: $[ dependencies.SubmitAzureMLJob.outputs['submit_azureml_job_task.JOB_NAME'] ]
steps:
- task: AzureMLJobWaitTask@1
inputs:
serviceConnection: $(service-connection)
resourceGroupName: $(resource-group)
azureMLWorkspaceName: $(workspace)
azureMLJobName: $(azureml_job_name_from_submit_job)
Ha az Általános szolgáltatáskapcsolatot használja, nem használhatja az Azure Machine Learning bővítmény által biztosított feladatot. Ehelyett közvetlenül egy feladat használatával hívja meg az API-t InvokeRESTAPI . Az alábbi YAML-példa bemutatja az API használatát.
7. lépés: Folyamat elküldése és a folyamatfuttatás ellenőrzése
Válassza a Mentés és futtatás lehetőséget. A folyamat megvárja, amíg az Azure Machine Learning-feladat befejeződik, és a feladat az Azure Machine Learning-feladattal azonos állapotban WaitForJobCompletion fejeződik be. Például: Azure Machine Learning-feladat Succeeded == Azure DevOps-feladat az Azure Machine Learning-feladat Failed alatt WaitForJobCompletionSucceeded == Azure DevOps-feladat az Azure Machine Learning-feladat FailedCancelled alatt WaitForJobCompletion == Azure DevOps-feladat a feladat alatt WaitForJobCompletionCancelled
Tipp.
A teljes Azure Machine Learning-feladatot az Azure Machine Learning Studióban tekintheti meg.
Az erőforrások eltávolítása
Ha nem használja tovább a folyamatot, törölje az Azure DevOps-projektet. Az Azure Portalon törölje az erőforráscsoportot és az Azure Machine Learning-példányt.
Manage data ingestion and preparation, model training and deployment, and machine learning solution monitoring with Python, Azure Machine Learning and MLflow.
Megtudhatja, hogyan ütemezhet folyamatfeladatokat, amelyekkel automatizálhatja a rutinfeladatokat, az időigényes feladatokat, például az adatfeldolgozást, a betanítást és a monitorozást.
Megtudhatja, hogyan integrálható az Azure Machine Learning egy helyi Git-adattárral az adattár, az ág és az aktuális véglegesítési információk nyomon követéséhez egy betanítási feladat részeként.