Modeli eğitmek için R işi çalıştırma

ŞUNUN IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)

Bu makalede, üretimde çalıştırılacak şekilde uyarladığınız R betiğinin nasıl alınıp Azure Machine Learning CLI V2 kullanılarak R işi olarak çalıştırılacak şekilde nasıl ayarlanacağı açıklanmaktadır.

Not

Bu makalenin başlığı bir modeli eğitmek anlamına gelse de, uyarlama makalesinde listelenen gereksinimleri karşılıyorsa herhangi bir R betiği çalıştırabilirsiniz.

Önkoşullar

Bu yapıya sahip bir klasör oluşturun

Projeniz için şu klasör yapısını oluşturun:

📁 r-job-azureml
├─ src
│  ├─ azureml_utils.R
│  ├─ r-source.R
├─ job.yml

Önemli

Tüm kaynak kodu dizinine src gider.

İşi HAZıRLAMA YAML

Azure Machine Learning CLI v2,farklı işlemler için farklı YAML şemalarına sahiptir. bu projenin bir parçası olan job.yml dosyasında iş göndermek için iş YAML şemasını kullanırsınız.

YAML'ye koymak için belirli bilgi parçalarını toplamanız gerekir:

  • Veri girişi olarak kullandığınız kayıtlı veri varlığının adı (sürüm ile): azureml:<REGISTERED-DATA-ASSET>:<VERSION>
  • Oluşturduğunuz ortamın adı (sürümle): azureml:<R-ENVIRONMENT-NAME>:<VERSION>
  • İşlem kümesinin adı: azureml:<COMPUTE-CLUSTER-NAME>

İpucu

Sürümler (veri varlıkları, ortamlar) gerektiren Azure Machine Learning yapıtları için, belirli bir sürümü ayarlamanız gerekmiyorsa bu yapıtın en son sürümünü almak için kısayol URI'sini azureml:<AZUREML-ASSET>@latest kullanabilirsiniz.

İş göndermek için örnek YAML şeması

job.yml dosyanızı aşağıdakileri içerecek şekilde düzenleyin. Gösterilen <IN-BRACKETS-AND-CAPS> değerleri değiştirip köşeli ayraçları kaldırdığınızdan emin olun.

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
# the Rscript command goes in the command key below. Here you also specify 
# which parameters are passed into the R script and can reference the input
# keys and values further below
# Modify any value shown below <IN-BRACKETS-AND-CAPS> (remove the brackets)
command: >
Rscript <NAME-OF-R-SCRIPT>.R
--data_file ${{inputs.datafile}}  
--other_input_parameter ${{inputs.other}}
code: src   # this is the code directory
inputs:
  datafile: # this is a registered data asset
    type: uri_file
    path: azureml:<REGISTERED-DATA-ASSET>@latest
  other: 1  # this is a sample parameter, which is the number 1 (as text)
environment: azureml:<R-ENVIRONMENT-NAME>@latest
compute: azureml:<COMPUTE-CLUSTER-OR-INSTANCE-NAME>
experiment_name: <NAME-OF-EXPERIMENT>
description: <DESCRIPTION>

İşi gönderme

Bu bölümdeki aşağıdaki komutlarda bilmeniz gerekebilir:

  • Azure Machine Learning çalışma alanı adı
  • Çalışma alanının bulunduğu kaynak grubu adı
  • Çalışma alanının bulunduğu abonelik

Azure Machine Learning stüdyosu şu değerleri bulun:

  1. Oturum açın ve çalışma alanınızı açın.
  2. Sağ üst Azure Machine Learning stüdyosu araç çubuğunda çalışma alanı adınızı seçin.
  3. Görüntülenen bölümden değerleri kopyalayabilirsiniz.

Ekran görüntüsü: CLI komutunuzda kullanılacak değerleri bulun.

İşi göndermek için terminal penceresinde aşağıdaki komutları çalıştırın:

  1. Dizinleri olarak r-job-azuremldeğiştirin.

    cd r-job-azureml
    
  2. Azure'da oturum açın. Bunu bir Azure Machine Learning işlem örneğinden yapıyorsanız şunu kullanın:

    az login --identity
    

    İşlem örneğinde değilseniz, kimlik doğrulaması için bir tarayıcı penceresi açmak için istemi atlayıp --identity izleyin.

  3. CLI'nın ve uzantının en son sürümlerine sahip olduğunuzdan ml emin olun:

    az upgrade
    
  4. Birden çok Azure aboneliğiniz varsa, etkin aboneliği çalışma alanınız için kullandığınız abonelik olarak ayarlayın. (Yalnızca tek bir aboneliğe erişiminiz varsa bu adımı atlayabilirsiniz.) değerini abonelik adınız ile değiştirin <SUBSCRIPTION-NAME> . Ayrıca köşeli ayraçları <>da kaldırın.

    az account set --subscription "<SUBSCRIPTION-NAME>"
    
  5. Şimdi işi göndermek için CLI'yi kullanın. Bunu çalışma alanınızdaki bir işlem örneğinde yapıyorsanız, aşağıdaki kodda gösterildiği gibi çalışma alanı adı ve kaynak grubu için ortam değişkenlerini kullanabilirsiniz. İşlem örneğinde değilseniz, bu değerleri çalışma alanı adınız ve kaynak grubunuzla değiştirin.

    az ml job create -f job.yml  --workspace-name $CI_WORKSPACE --resource-group $CI_RESOURCE_GROUP
    

İşi gönderdikten sonra durumu ve sonuçları Studio'da de kontrol edebilirsiniz:

  1. Azure Machine Learning stüdyosu oturum açın.
  2. Henüz yüklenmemişse çalışma alanınızı seçin.
  3. Sol gezinti bölmesinde İşler'i seçin.
  4. Modelinizi eğitmek için kullandığınız Deneme adını seçin.
  5. ölçümler, görüntüler, alt işler, çıkışlar, günlükler ve işte kullanılan kod gibi işin ayrıntılarını ve yapıtlarını görüntülemek için işin Görünen adını seçin.

Modeli kaydetme

Son olarak, eğitim işi tamamlandıktan sonra modelinizi dağıtmak istiyorsanız kaydedin. İş ayrıntılarınızı gösteren sayfadan stüdyoda başlayın.

  1. İşiniz tamamlandıktan sonra, işin çıkışlarını görüntülemek için Çıkışlar + günlükler'i seçin.

  2. crate.bin ve MLmodel'in mevcut olduğunu doğrulamak için models klasörünü açın. Aksi takdirde, bir hata olup olmadığını görmek için günlükleri denetleyin.

  3. Üstteki araç çubuğunda + Modeli kaydet'i seçin.

    Çıkışlar bölümünün açık olduğu stüdyonun İş bölümünü gösteren ekran görüntüsü.

  4. Algılanan MLflow model türünü kullanmayın. Model türünü varsayılan MLflow türünden Belirtilmeyen tür olarak değiştirin. MLflow olarak bırakmak hataya neden olur.

  5. İş çıktısı için modeli içeren klasör olan modelleri seçin.

  6. İleri'yi seçin.

  7. Modeliniz için kullanmak istediğiniz adı belirtin. İstersenize Açıklama, Sürüm ve Etiketler ekleyin.

  8. İleri'yi seçin.

  9. Bilgileri gözden geçirin.

  10. Kaydet'i seçin.

Sayfanın üst kısmında modelin kayıtlı olduğunu belirten bir onay görürsünüz. Onay şuna benzer:

Başarılı kayıt örneğini gösteren ekran görüntüsü.

Bu modele gitmek için buraya tıklayın'ı seçin . Kayıtlı model ayrıntılarını görüntülemek istiyorsanız.

Sonraki adımlar

Artık kayıtlı bir modeliniz olduğuna göre, R modelini çevrimiçi (gerçek zamanlı) bir uç noktaya dağıtmayı öğrenin.