CLI (v2) süpürme işi YAML şeması

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

Kaynak JSON şeması adresinde https://azuremlschemas.azureedge.net/latest/sweepJob.schema.jsonbulunabilir.

Not

Bu belgede ayrıntılarıyla belirtilen YAML söz dizimi, ML CLI v2 uzantısının en son sürümü için JSON şemasını temel alır. Bu söz diziminin yalnızca ML CLI v2 uzantısının en son sürümüyle çalışacağı garanti edilir. Eski uzantı sürümleri için şemaları adresinde https://azuremlschemasprod.azureedge.net/bulabilirsiniz.

YAML söz dizimi

Anahtar Tür Description İzin verilen değerler Varsayılan değer
$schema string YAML şeması. YAML dosyasını yazmak için Azure Machine Learning VS Code uzantısını kullanırsanız, dosyanızın üst kısmı da dahil olmak üzere $schema şema ve kaynak tamamlamalarını çağırmanıza olanak tanır.
type const Gereklidir. İşin türü. sweep sweep
name string İşin adı. Çalışma alanı içindeki tüm işlerde benzersiz olmalıdır. Belirtilmezse, Azure Machine Learning ad için bir GUID'yi otomatik olarak oluşturur.
display_name string Stüdyo kullanıcı arabiriminde işin görünen adı. Çalışma alanı içinde benzersiz olmayabilir. Belirtilmezse Azure Machine Learning, görünen ad için insan tarafından okunabilen bir sıfat-isim tanımlayıcısını otomatik olarak oluşturur.
experiment_name string İşi düzenlemek için deneme adı. Her işin çalıştırma kaydı, stüdyonun "Denemeler" sekmesindeki ilgili deneme altında düzenlenir. Belirtilmezse, Azure Machine Learning bunu işin oluşturulduğu çalışma dizininin adına varsayılan olarak belirler.
description string İşin açıklaması.
tags object İş için etiket sözlüğü.
sampling_algorithm object Gereklidir. üzerinden search_spacekullanılacak hiper parametre örnekleme algoritması. RandomSamplingAlgorithm, GridSamplingAlgorithm veya BayesianSamplingAlgorithm'dan biri.
search_space object Gereklidir. Hiper parametre arama alanının sözlüğü. Anahtar, hiper parametrenin adı ve değer parametre ifadesidir.

İfade kullanılarak hiper parametrelere trial.command${{ search_space.<hyperparameter> }} başvurulabilir.
search_space.<hyperparameter> object Kullanılacak olası ifadeler kümesi için bkz . Parametre ifadeleri.
objective.primary_metric string Gereklidir. Her deneme işi tarafından bildirilen birincil ölçümün adı. Ölçüm, ilgili ölçüm adıyla birlikte kullanılarak mlflow.log_metric() kullanıcının eğitim betiğinde günlüğe kaydedilmelidir.
objective.goal string Gereklidir. öğesinin objective.primary_metriciyileştirme hedefi. maximize, minimize
early_termination object Kullanılacak erken sonlandırma ilkesi. Belirtilen ilkenin ölçütleri karşılandığında bir deneme işi iptal edilir. Atlanırsa, erken sonlandırma ilkesi uygulanmaz. BanditPolicy, MedianStoppingPolicy veya TruncationSelectionPolicy'lerden biri.
limits object Süpürme işinin sınırları. Bkz. Anahtarın limits öznitelikleri.
compute string Gereklidir. söz dizimini kullanarak işin yürütülecek işlem hedefinin azureml:<compute_name> adı.
trial object Gereklidir. Her deneme için iş şablonu. Her deneme işi, sistem tarafından içinden search_spaceörnek alınan farklı bir hiper parametre değerleri bileşimiyle sağlanacaktır. Bkz. Anahtarın trial öznitelikleri.
inputs object İşe giriş sözlüğü. anahtar, işin bağlamındaki girişin adıdır ve değer giriş değeridir.

ifadesini command kullanarak ${{ inputs.<input_name> }} girişlere başvurulabilir.
inputs.<input_name> sayı, tamsayı, boole, dize veya nesne Sabit değerlerden biri (sayı, tamsayı, boole veya dize türünde) veya iş girişi veri belirtimi içeren bir nesne.
outputs object İşin çıkış yapılandırmalarının sözlüğü. Anahtar, işin bağlamındaki çıkışın adıdır ve değer de çıkış yapılandırmasıdır.

İfade kullanılarak çıkışlara başvurulabilir command${{ outputs.<output_name> }} .
outputs.<output_name> object Nesneyi boş bırakabilirsiniz. Bu durumda varsayılan olarak çıkış türünde uri_folder olur ve Azure Machine Learning çıkış için sistem tarafından bir çıkış konumu oluşturur. Çıkış dizinine dosyalar okuma-yazma bağlama yoluyla yazılır. Çıkış için farklı bir mod belirtmek istiyorsanız, iş çıktısı belirtimini içeren bir nesne sağlayın.
identity object Kimlik, verilere erişmek için kullanılır. UserIdentityConfiguration, ManagedIdentityConfiguration veya None olabilir. UserIdentityConfiguration ise, giriş verilerine erişmek ve çıktı klasörüne sonuç yazmak için iş göndericisinin kimliği kullanılır, aksi takdirde işlem hedefinin yönetilen kimliği kullanılır.

Örnekleme algoritmaları

RandomSamplingAlgorithm

Anahtar Tür Description İzin verilen değerler Varsayılan değer
type const Gereklidir. Örnekleme algoritmasının türü. random
seed tamsayı Rastgele sayı oluşturma işlemini başlatmak için kullanılacak rastgele bir çekirdek. Atlanırsa, varsayılan dengeli değer null olur.
rule string Kullanılacak rastgele örnekleme türü. Varsayılan , randombasit tekdüzen rastgele örneklemeyi kullanırken Sobol sobol quasirandom dizisini kullanır. random, sobol random

GridSamplingAlgorithm

Anahtar Tür Description İzin verilen değerler
type const Gereklidir. Örnekleme algoritmasının türü. grid

BayesianSamplingAlgorithm

Anahtar Tür Description İzin verilen değerler
type const Gereklidir. Örnekleme algoritmasının türü. bayesian

Erken sonlandırma ilkeleri

BanditPolicy

Anahtar Tür Description İzin verilen değerler Varsayılan değer
type const Gereklidir. İlke türü. bandit
slack_factor sayı İzin verilen uzaklığı en iyi performansa sahip denemeden hesaplamak için kullanılan oran. veya slack_amount gereklidirslack_factor.
slack_amount sayı En iyi performans gösteren deneme sürümünden izin verilen mutlak uzaklık. veya slack_amount gereklidirslack_factor.
evaluation_interval tamsayı İlkeyi uygulama sıklığı. 1
delay_evaluation tamsayı İlk ilke değerlendirmesini geciktirme aralığı sayısı. Belirtilirse, ilke büyüktür veya eşittir delay_evaluationher katına evaluation_interval uygulanır. 0

MedianStoppingPolicy

Anahtar Tür Description İzin verilen değerler Varsayılan değer
type const Gereklidir. İlke türü. median_stopping
evaluation_interval tamsayı İlkeyi uygulama sıklığı. 1
delay_evaluation tamsayı İlk ilke değerlendirmesini geciktirme aralığı sayısı. Belirtilirse, ilke büyüktür veya eşittir delay_evaluationher katına evaluation_interval uygulanır. 0

TruncationSelectionPolicy

Anahtar Tür Description İzin verilen değerler Varsayılan değer
type const Gereklidir. İlke türü. truncation_selection
truncation_percentage tamsayı Gereklidir. Her değerlendirme aralığında iptal edilecek deneme işlerinin yüzdesi.
evaluation_interval tamsayı İlkeyi uygulama sıklığı. 1
delay_evaluation tamsayı İlk ilke değerlendirmesini geciktirme aralığı sayısı. Belirtilirse, ilke büyüktür veya eşittir delay_evaluationher katına evaluation_interval uygulanır. 0

Parametre ifadeleri

Seçim

Anahtar Tür Description İzin verilen değerler
type const Gereklidir. İfadenin türü. choice
values array Gereklidir. Aralarından seçim yapabileceğiniz ayrık değerlerin listesi.

randint

Anahtar Tür Description İzin verilen değerler
type const Gereklidir. İfadenin türü. randint
upper tamsayı Gereklidir. Tamsayı aralığı için dışlayıcı üst sınır.

qlognormal, qnormal

Anahtar Tür Description İzin verilen değerler
type const Gereklidir. İfadenin türü. qlognormal, qnormal
mu sayı Gereklidir. Normal dağılımın ortalaması.
sigma sayı Gereklidir. Normal dağılımın standart sapması.
q tamsayı Gereklidir. Düzeltme faktörü.

qloguniform, quniform

Anahtar Tür Description İzin verilen değerler
type const Gereklidir. İfadenin türü. qloguniform, quniform
min_value sayı Gereklidir. Aralıktaki en küçük değer (dahil).
max_value sayı Gereklidir. Aralıktaki en büyük değer (dahil).
q tamsayı Gereklidir. Düzeltme faktörü.

lognormal, normal

Anahtar Tür Description İzin verilen değerler
type const Gereklidir. İfadenin türü. lognormal, normal
mu sayı Gereklidir. Normal dağılımın ortalaması.
sigma sayı Gereklidir. Normal dağılımın standart sapması.

loguniform

Anahtar Tür Description İzin verilen değerler
type const Gereklidir. İfadenin türü. loguniform
min_value sayı Gereklidir. Aralıktaki en küçük değer (dahil) olacaktır exp(min_value) .
max_value sayı Gereklidir. Aralıktaki en büyük değer (dahil) olacaktır exp(max_value) .

Üniforma

Anahtar Tür Description İzin verilen değerler
type const Gereklidir. İfadenin türü. uniform
min_value sayı Gereklidir. Aralıktaki en küçük değer (dahil).
max_value sayı Gereklidir. Aralıktaki en büyük değer (dahil).

Anahtarın limits öznitelikleri

Anahtar Tür Description Varsayılan değer
max_total_trials tamsayı Deneme işi sayısı üst sınırı. 1000
max_concurrent_trials tamsayı Eşzamanlı olarak çalışabilecek en fazla deneme işi sayısı. varsayılan olarak max_total_trialsayarlanır.
timeout tamsayı Süpürme işinin tamamının çalışmasına izin verilen saniye olarak en uzun süre. Bu sınıra ulaşıldıktan sonra sistem, tüm denemeleri de dahil olmak üzere süpürme işini iptal eder. 5184000
trial_timeout tamsayı Her deneme işinin çalışmasına saniye olarak izin verilen en uzun süre. Bu sınıra ulaşıldıktan sonra sistem denemeyi iptal eder.

Anahtarın trial öznitelikleri

Anahtar Tür Description Varsayılan değer
command string Gereklidir. Yürütülecek komut.
code string Karşıya yüklenecek ve iş için kullanılacak kaynak kodu dizininin yerel yolu.
environment dize veya nesne Gereklidir. İş için kullanılacak ortam. Bu, çalışma alanında var olan bir sürüme sahip ortama başvuru veya satır içi ortam belirtimi olabilir.

Varolan bir ortama başvurmak için söz dizimini azureml:<environment-name>:<environment-version> kullanın.

Bir ortamı satır içinde tanımlamak için Ortam şemasını izleyin. name Satır içi ortamlar için desteklenmediğinden ve version özelliklerini hariç tutun.
environment_variables object Komutun yürütüldüğü işlemde ayarlanacağı ortam değişkeni ad-değer çiftlerinin sözlüğü.
distribution object Dağıtılmış eğitim senaryoları için dağıtım yapılandırması. MpiConfiguration, PyTorchConfiguration veya TensorFlowConfiguration'lardan biri.
resources.instance_count tamsayı İş için kullanılacak düğüm sayısı. 1

Dağıtım yapılandırmaları

MpiConfiguration
Anahtar Tür Description İzin verilen değerler
type const Gereklidir. Dağıtım türü. mpi
process_count_per_instance tamsayı Gereklidir. İş için başlatacak düğüm başına işlem sayısı.
PyTorchConfiguration
Anahtar Tür Description İzin verilen değerler Varsayılan değer
type const Gereklidir. Dağıtım türü. pytorch
process_count_per_instance tamsayı İş için başlatacak düğüm başına işlem sayısı. 1
TensorFlowConfiguration
Anahtar Tür Description İzin verilen değerler Varsayılan değer
type const Gereklidir. Dağıtım türü. tensorflow
worker_count tamsayı İş için başlatacak çalışan sayısı. Varsayılan olarak olarak resources.instance_countgösterilir.
parameter_server_count tamsayı İş için başlatacak parametre sunucularının sayısı. 0

İş girişleri

Anahtar Tür Description İzin verilen değerler Varsayılan değer
type string İş girişinin türü. Tek bir dosya kaynağına işaret eden giriş verileri veya uri_folder bir klasör kaynağına işaret eden giriş verileri için belirtinuri_file. Veri erişimi hakkında daha fazla bilgi edinin. uri_file, uri_folder, mltable, mlflow_model uri_folder
path string Giriş olarak kullanılacak verilerin yolu. Bu, birkaç şekilde belirtilebilir:

- Veri kaynağı dosyasının veya klasörünün yerel yolu, örneğin. path: ./iris.csv Veriler iş gönderimi sırasında karşıya yüklenir.

- Giriş olarak kullanılacak dosya veya klasörün bulut yolunun URI'si. Desteklenen URI türleri : azureml, https, wasbs, abfss, adl. URI biçimini kullanma azureml:// hakkında daha fazla bilgi için bkz . Çekirdek yaml söz dizimi.

- Giriş olarak kullanılacak mevcut bir kayıtlı Azure Machine Learning veri varlığı. Kayıtlı bir veri varlığına başvurmak için söz dizimini azureml:<data_name>:<data_version> veya azureml:<data_name>@latest (bu veri varlığının en son sürümüne başvurmak için) kullanın; örneğin, path: azureml:cifar10-data:1 veya path: azureml:cifar10-data@latest.
mode string Verilerin işlem hedefine nasıl teslim edilmesi gerektiği modu.

Salt okunur bağlama ()ro_mount için veriler bağlama yolu olarak kullanılır. Bir klasör klasör olarak bağlanır ve bir dosya dosya olarak bağlanır. Azure Machine Learning bağlama yolunun girişini çözümler.

Mod için download veriler işlem hedefine indirilir. Azure Machine Learning indirilen yola yönelik girişi çözümleyecektir.

Verileri bağlamak veya indirmek yerine yalnızca veri yapıtlarının depolama konumunun URL'sini direct istiyorsanız modu kullanabilirsiniz. Bu işlem, iş girişi olarak depolama konumunun URL'sini geçirir. Bu durumda, depolamaya erişmek için kimlik bilgilerini işlemek tamamen sizin sorumluluğundadır.
ro_mount, download, direct ro_mount

İş çıkışları

Anahtar Tür Description İzin verilen değerler Varsayılan değer
type string İş çıktısının türü. Varsayılan uri_folder tür için çıkış bir klasöre karşılık gelir. uri_file, uri_folder, mltable, mlflow_model uri_folder
mode string Çıkış dosyasının hedef depolamaya teslimi modu. Okuma-yazma bağlama modu (rw_mount) için çıkış dizini bağlı bir dizin olacaktır. Karşıya yükleme modu için yazılan dosyalar işin sonunda karşıya yüklenir. rw_mount, upload rw_mount

Kimlik yapılandırmaları

UserIdentityConfiguration

Anahtar Tür Description İzin verilen değerler
type const Gereklidir. Kimlik türü. user_identity

ManagedIdentityConfiguration

Anahtar Tür Description İzin verilen değerler
type const Gereklidir. Kimlik türü. managed veya managed_identity

Açıklamalar

az ml job Komutu Azure Machine Learning işlerini yönetmek için kullanılabilir.

Örnekler

Örnekler GitHub deposunda bulunabilir. Aşağıda birkaçı gösterilmiştir.

YAML: merhaba süpürme

$schema: https://azuremlschemas.azureedge.net/latest/sweepJob.schema.json
type: sweep
trial:
  command: >-
    python hello-sweep.py
    --A ${{inputs.A}}
    --B ${{search_space.B}}
    --C ${{search_space.C}}
  code: src
  environment: azureml:AzureML-sklearn-1.0-ubuntu20.04-py38-cpu@latest
inputs:
  A: 0.5
sampling_algorithm: random
search_space:
  B:
    type: choice
    values: ["hello", "world", "hello_world"]
  C:
    type: uniform
    min_value: 0.1
    max_value: 1.0
objective:
  goal: minimize
  primary_metric: random_metric
limits:
  max_total_trials: 4
  max_concurrent_trials: 2
  timeout: 3600
display_name: hello-sweep-example
experiment_name: hello-sweep-example
description: Hello sweep job example.

YAML: Temel Python modeli hiper parametre ayarı

$schema: https://azuremlschemas.azureedge.net/latest/sweepJob.schema.json
type: sweep
trial:
  code: src
  command: >-
    python main.py 
    --iris-csv ${{inputs.iris_csv}}
    --C ${{search_space.C}}
    --kernel ${{search_space.kernel}}
    --coef0 ${{search_space.coef0}}
  environment: azureml:AzureML-sklearn-0.24-ubuntu18.04-py37-cpu@latest
inputs:
  iris_csv: 
    type: uri_file
    path: wasbs://datasets@azuremlexamples.blob.core.windows.net/iris.csv
compute: azureml:cpu-cluster
sampling_algorithm: random
search_space:
  C:
    type: uniform
    min_value: 0.5
    max_value: 0.9
  kernel:
    type: choice
    values: ["rbf", "linear", "poly"]
  coef0:
    type: uniform
    min_value: 0.1
    max_value: 1
objective:
  goal: minimize
  primary_metric: training_f1_score
limits:
  max_total_trials: 20
  max_concurrent_trials: 10
  timeout: 7200
display_name: sklearn-iris-sweep-example
experiment_name: sklearn-iris-sweep-example
description: Sweep hyperparemeters for training a scikit-learn SVM on the Iris dataset.

Sonraki adımlar