Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ş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 bir 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ğitiyorsunuz.
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
Azure Machine Learning çalışma alanı. Çalışma alanı oluşturma adımları için bkz. Çalışma alanı oluşturma.
Python v2 için Azure Machine Learning SDK'sı. SDK'yı yüklemek için aşağıdaki komutu kullanın:
pip install azure-ai-ml azure-identitySDK'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-identityDaha fazla bilgi için bkz. Python için Azure Machine Learning Paketi istemci kitaplığı.
- 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. Önerilen, daha güvenli seçenek, Bir Microsoft Entra uygulaması veya kullanıcı tarafından atanan yönetilen kimlik kullanarak OpenID Connect ile oturum açmaktır. Gerekirse, hizmet sorumlusu ve gizli dizi ile oturum açmayı da kullanabilirsiniz. Bu yaklaşım daha az güvenlidir ve önerilmez.
Dağıtım kimlik bilgileri oluşturma
OIDC ile Azure Oturum Açma eylemini kullanmak için, Microsoft Entra uygulamasında veya kullanıcı tarafından atanan yönetilen kimlikte federasyon kimlik bilgilerini yapılandırmanız gerekir.
Seçenek 1: Microsoft Entra uygulaması
- Azure portalı, Azure CLI veya Azure PowerShell tarafından hizmet sorumlusuyla bir Microsoft Entra uygulaması oluşturun.
- GitHub Actions iş akışınızda daha sonra kullanmak üzere İstemci Kimliği, Abonelik Kimliği ve Dizin (kiracı) kimliği değerlerini kopyalayın.
- Azure portalı, Azure CLI veya Azure PowerShell ile hizmet sorumlunuza uygun bir rol atayın.
- GitHub Actions tarafından GitHub deponuza verilen belirteçlere güvenmek için bir Microsoft Entra uygulamasında federasyon kimliği kimlik bilgilerini yapılandırın.
Seçenek 2: Kullanıcı tarafından atanan yönetilen kimlik
- Kullanıcı tarafından atanan bir yönetilen kimlik oluşturun.
- GitHub Actions iş akışınızda daha sonra kullanmak üzere İstemci Kimliği, Abonelik Kimliği ve Dizin (kiracı) kimliği değerlerini kopyalayın.
- Kullanıcı tarafından atanan yönetilen kimliğinize uygun bir rol atayın.
- GitHub Actions tarafından GitHub deponuza verilen belirteçlere güvenmek için kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini yapılandırın.
Gizli dizi oluşturma
Oturum açma eylemine uygulamanızın İstemci Kimliğini, Dizin (kiracı) Kimliğini ve Abonelik Kimliğini sağlamanız gerekir. Bu değerler doğrudan iş akışında sağlanabilir veya GitHub gizli dizilerinde depolanabilir ve iş akışınızda başvurulabilir. Değerleri GitHub gizli dizileri olarak kaydetmek daha güvenli bir seçenektir.
Güvenlik > Gizli Dizileri ve değişkenler Eylemler'i> seçin.
Yeni depo gizli dizisi'ni seçin.
Not
Genel depolarda iş akışı güvenliğini geliştirmek için depo gizli dizileri yerine ortam gizli dizilerini kullanın. Ortam onay gerektiriyorsa, gerekli gözden geçirenlerden biri onaylayana kadar iş ortam gizli dizilerine erişemez.
,
AZURE_CLIENT_IDveAZURE_TENANT_IDiçinAZURE_SUBSCRIPTION_IDgizli diziler oluşturun. Bu değerleri GitHub gizli dizileriniz için Microsoft Entra uygulamanızdan veya kullanıcı tarafından atanan yönetilen kimlikten kopyalayın:GitHub gizli dizisi Microsoft Entra uygulaması veya kullanıcı tarafından atanan yönetilen kimlik AZURE_CLIENT_ID Müşteri Kimliği AZURE_ABONELİK_KİMLİĞİ Abonelik Kimliği AZURE_TENANT_ID Dizin (kiracı) kimliği Not
Güvenlik nedeniyle, değerleri doğrudan iş akışına geçirmek yerine GitHub Gizli Dizilerini kullanmanızı öneririz.
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.shve güncelleştirin.Değişken Açıklama GRUP 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 kullanırsınız. İşlem hattı, DevOps işlem hattı değil makine öğrenmesi işlem hattıdır. 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.ymlgidin. - öğesini her gördüğünüzde
compute: azureml:cpu-clusterdeğerinicpu-clusterişlem kümenizin adıyla güncelleştirin. Örneğin, kümenizin adımy-clusterise 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ı
onbaş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 OpenID Connect kullanarak Azure oturum açma eylemiyle 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.ymldosyanı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.ymlve 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@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - 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.