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 ML 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 ML görünen ad için insan tarafından okunabilir bir sıfat-isim tanımlayıcısı 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 ML bunu varsayılan olarak işin oluşturulduğu çalışma dizininin adı 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 ML çı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.

Ö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 tohum değeri 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ı en iyi performans gösteren denemeden izin verilen uzaklığı hesaplamak için kullanılan oran. veya'lerden slack_factorslack_amount biri gereklidir.
slack_amount sayı En iyi performansa yönelik denemeden izin verilen mutlak uzaklık. veya'lerden slack_factorslack_amount biri gereklidir.
evaluation_interval tamsayı İlkenin uygulanma sıklığı. 1
delay_evaluation tamsayı İlk ilke değerlendirmesini geciktirecek aralıkların sayısı. Belirtilirse, ilke büyüktür veya değerine eşit delay_evaluationolan her 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ı İlkenin uygulanma sıklığı. 1
delay_evaluation tamsayı İlk ilke değerlendirmesini geciktirecek aralıkların sayısı. Belirtilirse, ilke büyüktür veya değerine eşit delay_evaluationolan her 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ı İlkenin uygulanma sıklığı. 1
delay_evaluation tamsayı İlk ilke değerlendirmesini geciktirecek aralıkların sayısı. Belirtilirse, ilke büyüktür veya değerine eşit delay_evaluationolan her 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) .

tekdüze

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ı İşin çalışmasına izin verilen saniye olarak en uzun süre. Bu sınıra ulaşıldıktan sonra sistem işi iptal eder. 1000
max_concurrent_trials tamsayı 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. 604800
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.

Var olan 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 lütfen 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. uri_file, uri_folder 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 ML 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), örneğin path: azureml:cifar10-data:1 veya path: azureml:cifar10-data@latestkullanın.
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 ML bağlama yoluna girişi çözümler.

Mod için download veriler işlem hedefine indirilir. Azure ML indirilen yola girişi çözümler.

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şlemenin tamamen sizin sorumluluğunda olduğunu unutmayın.
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_folder 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

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
compute: azureml:cpu-cluster
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 ayarlama

$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