Använda GitHub Actions för modellträning
GitHub Actions är en plattform som gör att du kan automatisera uppgifter som utlöses av händelser som inträffar på en GitHub-lagringsplats. Ett GitHub Actions-arbetsflöde består av jobb. Ett jobb grupperar en uppsättning steg som du kan definiera. Ett av dessa steg kan använda CLI (v2) för att köra ett Azure Machine Learning-jobb för att träna en modell.
Om du vill automatisera modellträningen med GitHub Actions måste du:
- Skapa ett huvudnamn för tjänsten med hjälp av Azure CLI.
- Lagra Azure-autentiseringsuppgifterna i en GitHub-hemlighet.
- Definiera en GitHub-åtgärd i YAML.
Skapa ett huvudnamn för tjänsten
När du använder GitHub Actions för att automatisera Azure Machine Learning-jobb måste du använda tjänstens huvudnamn för att autentisera GitHub för att hantera Azure Machine Learning-arbetsytan. Om du till exempel vill träna en modell med Azure Machine Learning-beräkning måste du eller alla verktyg som du använder ha behörighet att använda den beräkningen.
Dricks
Läs mer om hur du använder GitHub Actions för att ansluta till Azure
Lagra Azure-autentiseringsuppgifterna
De Azure-autentiseringsuppgifter som du behöver autentisera bör inte lagras i din kod eller oformaterad text och bör i stället lagras i en GitHub-hemlighet.
Så här lägger du till en hemlighet i din GitHub-lagringsplats:
Gå till fliken Inställningar .
På fliken Inställningar under Säkerhet expanderar du alternativet Hemligheter och väljer Åtgärder.
Ange dina Azure-autentiseringsuppgifter som en hemlighet och namnge hemligheten
AZURE_CREDENTIALS
.Om du vill använda en hemlighet som innehåller Azure-autentiseringsuppgifter i en GitHub-åtgärd läser du hemligheten i YAML-filen.
on: [push] name: Azure Login Sample jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Log in with Azure uses: azure/login@v1 with: creds: '${{secrets.AZURE_CREDENTIALS}}'
Definiera GitHub-åtgärden
För att definiera ett arbetsflöde måste du skapa en YAML-fil. Du kan utlösa arbetsflödet för att träna en modell manuellt eller med en push-händelse. Att utlösa arbetsflödet manuellt är perfekt för testning, medan automatisering med en händelse är bättre för automatisering.
Om du vill konfigurera ett GitHub Actions-arbetsflöde så att du kan utlösa det manuellt använder du on: workflow_dispatch
. Om du vill utlösa ett arbetsflöde med en push-händelse använder du on: [push]
.
När GitHub Actions-arbetsflödet har utlösts kan du lägga till olika steg i ett jobb. Du kan till exempel använda ett steg för att köra ett Azure Machine Learning-jobb:
name: Manually trigger an Azure Machine Learning job
on:
workflow_dispatch:
jobs:
train-model:
runs-on: ubuntu-latest
steps:
- name: Trigger Azure Machine Learning job
run: |
az ml job create --file src/job.yml