Azure Machine Learning ile GitHub Actions kullanma
ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)
Python SDK azure-ai-ml v2 (geçerli)
Azure Machine Learning'de bir modeli eğitmek için GitHub Actions'ı kullanmaya başlayın.
Bu makalede, Azure Machine Learning'de makine öğrenmesi modeli oluşturup dağıtan bir GitHub Actions iş akışı oluşturmayı öğreneceksiniz. NYC Taxi veri kümesinde bir scikit-learn doğrusal regresyon modeli eğiteceksiniz.
GitHub Actions, deponuzdaki /.github/workflows/
yolda bir iş akışı YAML (.yml) dosyası kullanır. Bu tanım, iş akışını oluşturan çeşitli adımları ve parametreleri içerir.
Önkoşullar
Bu makaledeki adımları takip etmeden önce aşağıdaki önkoşullara sahip olduğunuzdan emin olun:
Azure Machine Learning çalışma alanı. Yoksa, oluşturmak için Hızlı Başlangıç: Çalışma alanı kaynakları oluşturma makalesindeki adımları kullanın.
Python SDK v2'yi yüklemek için aşağıdaki komutu kullanın:
pip install azure-ai-ml azure-identity
SDK'nın mevcut yüklemesini en son sürüme güncelleştirmek için aşağıdaki komutu kullanın:
pip install --upgrade azure-ai-ml azure-identity
Daha fazla bilgi için bkz . Azure Machine Learning için Python SDK v2'yi yükleme.
- Bir GitHub hesabı. Hesabınız yoksa ücretsiz olarak kaydolun.
1. Adım: Kodu alma
GitHub'da aşağıdaki deponun çatalını oluşturun:
https://github.com/azure/azureml-examples
Çatallanmış deponuzu yerel olarak kopyalayın.
git clone https://github.com/YOUR-USERNAME/azureml-examples
2. Adım: Azure ile kimlik doğrulaması
Öncelikle Azure'da kimlik doğrulaması yapmayı tanımlamanız gerekir. Hizmet sorumlusu veya OpenID Connect kullanabilirsiniz.
Dağıtım kimlik bilgileri oluşturma
Azure CLI'da az ad sp create-for-rbac komutuyla bir hizmet sorumlusu oluşturun. Azure portalında veya Deneyin düğmesini seçerek bu komutu Azure Cloud Shell ile çalıştırın.
az ad sp create-for-rbac --name "myML" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
--json-auth
parametresi --json-auth
Azure CLI sürümlerinde >= 2.51.0 kullanılabilir. Bu --sdk-auth
kullanımdan önceki sürümler kullanımdan kaldırma uyarısıyla kullanılır.
Yukarıdaki örnekte yer tutucuları abonelik kimliğiniz, kaynak grubu adınız ve uygulama adınızla değiştirin. Çıktı, Aşağıdakine benzer şekilde App Service uygulamanıza erişim sağlayan rol ataması kimlik bilgilerine sahip bir JSON nesnesidir. Bu JSON nesnesini daha sonra için kopyalayın.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Gizli dizi oluşturma
Gezinti menüsünde Ayarlar'a gidin.
Güvenlik > Gizli Dizileri ve değişkenler Eylemler'i> seçin.
Yeni depo gizli dizisi'ni seçin.
Azure CLI komutundaki JSON çıkışının tamamını gizli dizinin değer alanına yapıştırın. Gizli diziye adını
AZURE_CREDENTIALS
verin.Add secret (Gizli dizi ekle) öğesini seçin.
3. Adım: Azure Machine Learning çalışma alanınıza bağlanmak için güncelleştirme setup.sh
CLI kurulum dosyası değişkenlerini çalışma alanınızla eşleşecek şekilde güncelleştirmeniz gerekir.
Çatallanmış deponuzda adresine
azureml-examples/cli/
gidin.Dosyadaki bu değişkenleri düzenleyin
setup.sh
ve güncelleştirin.Değişken Açıklama GROUP Kaynak grubunun adı KONUM Çalışma alanınızın konumu (örnek: eastus2
)ÇALIŞMA ALANI Azure Machine Learning çalışma alanının adı
4. Adım: İşlem kümenizin adıyla güncelleştirme pipeline.yml
Azure Machine Learning işlem hattınızı dağıtmak için bir pipeline.yml
dosya kullanacaksınız. Bu bir makine öğrenmesi işlem hattıdır ve DevOps işlem hattı değildir. Bu güncelleştirmeyi yalnızca bilgisayar kümenizin adı dışında bir ad cpu-cluster
kullanıyorsanız yapmanız gerekir.
- Çatallanmış deponuzda adresine
azureml-examples/cli/jobs/pipelines/nyc-taxi/pipeline.yml
gidin. - öğesini her gördüğünüzde
compute: azureml:cpu-cluster
değerinicpu-cluster
işlem kümenizin adıyla güncelleştirin. Örneğin, kümenizin adımy-cluster
ise yeni değeriniz olacaktırazureml:my-cluster
. Beş güncelleştirme vardır.
5. Adım: GitHub Actions iş akışınızı çalıştırma
İş akışınız Azure'da kimlik doğrulaması yapar, Azure Machine Learning CLI'sini ayarlar ve Azure Machine Learning'de bir modeli eğitmek için CLI'yi kullanır.
İş akışı dosyanız bir tetikleyici bölümünden ve işlerden oluşur:
- Tetikleyici, bölümünde iş akışını
on
başlatır. İş akışı varsayılan olarak bir cron zamanlaması üzerinde ve eşleşen dallardan ve yollardan çekme isteği yapıldığında çalışır. İş akışlarını tetikleyen olaylar hakkında daha fazla bilgi edinin. - İş akışının işler bölümünde kodu kullanıma alır ve hizmet sorumlusu gizli dizinizle Azure'da oturum açarsınız.
- İşler bölümü, Machine Learning CLI'yi (v2) yükleyen ve ayarlayan bir kurulum eylemi de içerir. CLI yüklendikten sonra iş çalıştırma eylemi, NYC taksi verileriyle bir model eğitmek için Azure Machine Learning
pipeline.yml
dosyanızı çalıştırır.
İş akışınızı etkinleştirme
Çatallanmış deponuzda iş akışınızın böyle göründüğünü açın
.github/workflows/cli-jobs-pipelines-nyc-taxi-pipeline.yml
ve doğrulayın.name: cli-jobs-pipelines-nyc-taxi-pipeline on: workflow_dispatch: schedule: - cron: "0 0/4 * * *" pull_request: branches: - main - sdk-preview paths: - cli/jobs/pipelines/nyc-taxi/** - .github/workflows/cli-jobs-pipelines-nyc-taxi-pipeline.yml - cli/run-pipeline-jobs.sh - cli/setup.sh jobs: build: runs-on: ubuntu-latest steps: - name: check out repo uses: actions/checkout@v2 - name: azure login uses: azure/login@v1 with: creds: ${{secrets.AZURE_CREDENTIALS}} - name: setup run: bash setup.sh working-directory: cli continue-on-error: true - name: run job run: bash -x ../../../run-job.sh pipeline.yml working-directory: cli/jobs/pipelines/nyc-taxi
Çalıştırmaları görüntüle'yi seçin.
İş akışlarımı anlıyorum'ı seçerek iş akışlarını etkinleştirin, devam edin ve etkinleştirin.
cli-jobs-pipelines-nyc-taxi-pipeline iş akışını seçin ve İş akışını etkinleştir'i seçin.
İş akışını çalıştır'ı seçin ve İş akışını şimdi çalıştır seçeneğini belirleyin.
6. Adım: İş akışı çalıştırmanızı doğrulama
Tamamlanmış iş akışı çalıştırmanızı açın ve derleme işinin başarıyla çalıştırıldığını doğrulayın. İşin yanında yeşil bir onay işareti görürsünüz.
Azure Machine Learning stüdyosu açın ve nyc-taxi-pipeline-example adresine gidin. İşinizin her bir bölümünün (hazırlık, dönüşüm, eğit, tahmin, puan) tamamlandığını ve yeşil bir onay işareti gördüğünüzü doğrulayın.
Kaynakları temizleme
Kaynak grubunuz ve deponuz artık gerekli olmadığında, kaynak grubunu ve GitHub deponuzu silerek dağıttığınız kaynakları temizleyin.
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin