Share via


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

ŞUNUN 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ılı olarak yer alan 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ışması garanti edilir. Eski uzantı sürümleri için şemaları adresinde https://azuremlschemasprod.azureedge.net/bulabilirsiniz.

YAML söz dizimi

Anahtar Type Açıklama İzin verilen değerler Default value
$schema Dize YAML şeması. YAML dosyasını yazmak için Azure Machine Learning VS Code uzantısını kullanırsanız, dosyanızın en üstüne eklerseniz $schema şema ve kaynak tamamlamalarını çağırabilirsiniz.
type const Gerekli. İşin türü. sweep sweep
name Dize İş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 Dize 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 okunabilir bir sıfat-isim tanımlayıcısı oluşturur.
experiment_name Dize İşi deneme adı altında düzenleyin. Her işin çalıştırma kaydı, stüdyonun "Denemeler" sekmesinde ilgili denemenin altında düzenlenir. Belirtilmezse, Azure Machine Learning varsayılan olarak experiment_name işin oluşturulduğu çalışma dizininin adını kullanır.
description Dize İşin açıklaması.
tags nesne İş için etiket sözlüğü.
sampling_algorithm nesne Gerekli. üzerinden search_spacekullanılacak hiper parametre örnekleme algoritması. RandomSamplingAlgorithm, GridSamplingAlgorithm veya BayesianSamplingAlgorithm'dan biri.
search_space nesne Gerekli. Hiper parametre arama alanının sözlüğü. Hiper parametre adı anahtardır ve değer parametre ifadesidir.

hiper parametrelere içinde ifadesiyle ${{ search_space.<hyperparameter> }} başvurulabilirtrial.command.
search_space.<hyperparameter> nesne Kullanılacak olası ifadeler kümesi için Parametre ifadeleri'ni ziyaret edin.
objective.primary_metric Dize Gerekli. Her deneme işi tarafından bildirilen birincil ölçümün adı. Ölçüm, kullanıcının eğitim betiğinde aynı ölçüm adıyla kullanılarak mlflow.log_metric() günlüğe kaydedilmelidir.
objective.goal Dize Gerekli. öğesinin objective.primary_metriciyileştirme hedefi. maximize, minimize
early_termination nesne 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 nesne Süpürme işinin sınırları. Bkz. Anahtarın limitsöznitelikleri.
compute Dize Gerekli. İş yürütülecek işlem hedefinin adı ve azureml:<compute_name> söz dizimi.
trial nesne Gerekli. Her deneme için iş şablonu. Her deneme işi, sistem tarafından içinden search_spaceörnek alınan hiper parametre değerlerinin farklı bir bileşimiyle sağlanır. Anahtarın Öznitelikleri'ni trial ziyaret edin.
inputs nesne İşe giriş sözlüğü. anahtar, iş bağlamında girişin adı ve değer giriş değeridir.

ifade kullanılarak girişlere başvurulabilir command${{ inputs.<input_name> }} .
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 nesne İşin çıkış yapılandırmaları sözlüğü. Anahtar, iş bağlamındaki çıkışın adıdır ve değer çıkış yapılandırmasıdır.

çıkışlarına ifadesi kullanılarak ${{ outputs.<output_name> }} içinde başvurulabilircommand.
outputs.<output_name> nesne Nesneyi boş bırakabilirsiniz ve bu durumda, varsayılan olarak çıkış türündedir uri_folder ve Azure Machine Learning sistemi çıkış için bir çıkış konumu oluşturur. Çıkış dizinine tüm dosyalar okuma-yazma bağlama yoluyla yazılır. Çıkış için farklı bir mod belirtmek için, iş çıktısı belirtimini içeren bir nesne sağlayın.
identity nesne Kimlik, verilere erişmek için kullanılır. Kullanıcı Kimliği Yapılandırması, Yönetilen Kimlik Yapılandırması veya Yok olabilir. UserIdentityConfiguration için, girdi 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 Type Açıklama İzin verilen değerler Default value
type const Gerekli. Örnekleme algoritmasının türü. random
seed integer Rastgele sayı oluşturmayı başlatmak için kullanılacak rastgele bir çekirdek. Atlanırsa, varsayılan tohum değeri null olur.
rule Dize Kullanılacak rastgele örnekleme türü. varsayılan değeri, randombasit tekdüzen rastgele örneklemeyi kullanırken Sobol sobol quasi-random dizisini kullanır. random, sobol random

GridSamplingAlgorithm

Anahtar Type Açıklama İzin verilen değerler
type const Gerekli. Örnekleme algoritması türü. grid

BayesianSamplingAlgorithm

Anahtar Type Açıklama İzin verilen değerler
type const Gerekli. Örnekleme algoritması türü. bayesian

Erken sonlandırma ilkeleri

BanditPolicy

Anahtar Type Açıklama İzin verilen değerler Default value
type const Gerekli. İlke türü. bandit
slack_factor Numara en iyi performansa sahip denemeden izin verilen uzaklığı hesaplamak için kullanılan oran. slack_factor veya slack_amount gereklidir.
slack_amount Numara En iyi performans gösteren deneme sürümünden izin verilen mutlak uzaklık. slack_factor veya slack_amount gereklidir.
evaluation_interval integer İlkenin uygulanma sıklığı. 1
delay_evaluation integer İlk ilke değerlendirmesini geciktirecek aralıkların sayısı. Belirtilirse, ilke büyüktür veya eşittir delay_evaluationher katına evaluation_interval uygulanır. 0

MedianStoppingPolicy

Anahtar Type Açıklama İzin verilen değerler Default value
type const Gerekli. İlke türü. median_stopping
evaluation_interval integer İlkenin uygulanma sıklığı. 1
delay_evaluation integer İlk ilke değerlendirmesini geciktirecek aralıkların sayısı. Belirtilirse, ilke büyüktür veya eşittir delay_evaluationher katına evaluation_interval uygulanır. 0

TruncationSelectionPolicy

Anahtar Type Açıklama İzin verilen değerler Default value
type const Gerekli. İlke türü. truncation_selection
truncation_percentage integer Gerekli. Her değerlendirme aralığında iptal edilecek deneme işlerinin yüzdesi.
evaluation_interval integer İlkenin uygulanma sıklığı. 1
delay_evaluation integer İlk ilke değerlendirmesini geciktirecek aralıkların 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 Type Açıklama İzin verilen değerler
type const Gerekli. İfade türü. choice
values dizi Gerekli. Aralarından seçim yapabileceğiniz ayrık değerlerin listesi.

Randint

Anahtar Type Açıklama İzin verilen değerler
type const Gerekli. İfade türü. randint
upper integer Gerekli. Tamsayı aralığı için özel üst sınır.

Qlognormal, qnormal

Anahtar Type Açıklama İzin verilen değerler
type const Gerekli. İfade türü. qlognormal, qnormal
mu Numara Gerekli. Normal dağılımın ortalaması.
sigma Numara Gerekli. Normal dağılımın standart sapması.
q integer Gerekli. Düzeltme faktörü.

Qloguniform, quniform

Anahtar Type Açıklama İzin verilen değerler
type const Gerekli. İfade türü. qloguniform, quniform
min_value Numara Gerekli. Aralıktaki en küçük değer (dahil).
max_value Numara Gerekli. Aralıktaki en büyük değer (dahil).
q integer Gerekli. Düzeltme faktörü.

Logaritmik, normal

Anahtar Type Açıklama İzin verilen değerler
type const Gerekli. İfade türü. lognormal, normal
mu Numara Gerekli. Normal dağılımın ortalaması.
sigma Numara Gerekli. Normal dağılımın standart sapması.

Loguniform

Anahtar Type Açıklama İzin verilen değerler
type const Gerekli. İfade türü. loguniform
min_value Numara Gerekli. Aralıktaki en düşük değer (dahil) değeridir exp(min_value) .
max_value Numara Gerekli. Aralıktaki en büyük değer (dahil) değeridir exp(max_value) .

Üniforma

Anahtar Type Açıklama İzin verilen değerler
type const Gerekli. İfade türü. uniform
min_value Numara Gerekli. Aralıktaki en küçük değer (dahil).
max_value Numara Gerekli. Aralıktaki en büyük değer (dahil).

Anahtarın limits öznitelikleri

Anahtar Type Açıklama Default value
max_total_trials integer Deneme işi sayısı üst sınırı. 1000
max_concurrent_trials integer Eşzamanlı olarak çalışabilecek en fazla deneme işi sayısı. varsayılan değeridir max_total_trials.
timeout integer Süpürme işinin tamamının çalışmasına izin verilen saniye cinsinden maksimum 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 integer Her deneme işinin çalışmasına izin verilen saniye cinsinden maksimum süre. Bu sınıra ulaşıldıktan sonra sistem denemeyi iptal eder.

Anahtarın trial öznitelikleri

Anahtar Type Açıklama Default value
command Dize Gerekli. Yürütülecek komut.
code Dize karşıya yüklenecek ve iş için kullanılacak kaynak kod dizinine yönelik yerel yol.
environment dize veya nesne Gerekli. İş için kullanılacak ortam. Bu değer, ç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 Ortam şemasını izleyin. name Satır içi ortamlar bunları desteklemediğinden ve version özelliklerini hariç tutun.
environment_variables nesne Komutun yürütüldüğü işlemde ayarlanacağı ortam değişkeni ad-değer çiftlerinin sözlüğü.
distribution nesne Dağıtılmış eğitim senaryoları için dağıtım yapılandırması. Mpi Yapılandırması, PyTorch Yapılandırması veya TensorFlow Yapılandırmasından biri.
resources.instance_count integer İş için kullanılacak düğüm sayısı. 1

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

MpiConfiguration
Anahtar Type Açıklama İzin verilen değerler
type const Gerekli. Dağıtım türü. mpi
process_count_per_instance integer Gerekli. İş için başlatacak düğüm başına işlem sayısı.
PyTorchConfiguration
Anahtar Type Açıklama İzin verilen değerler Default value
type const Gerekli. Dağıtım türü. pytorch
process_count_per_instance integer İş için başlatacak düğüm başına işlem sayısı. 1
TensorFlowConfiguration
Anahtar Type Açıklama İzin verilen değerler Default value
type const Gerekli. Dağıtım türü. tensorflow
worker_count integer İş için başlatacak çalışan sayısı. varsayılan değeridir resources.instance_count.
parameter_server_count integer İş için başlatacak parametre sunucularının sayısı. 0

İş girişleri

Anahtar Type Açıklama İzin verilen değerler Default value
type Dize İş girişi 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. Daha fazla bilgi için veri erişimi hakkında daha fazla bilgi edinin adresini ziyaret edin . uri_file, uri_folder, mltable, mlflow_model uri_folder
path Dize Giriş olarak kullanılacak verilerin yolu. Bu değer 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'sini. Desteklenen URI türleri : azureml, https, wasbs, abfss, adl. URI biçiminin azureml:// kullanımı hakkında daha fazla bilgi için Çekirdek yaml söz dizimi adresini ziyaret edin.

- Giriş olarak kullanılacak kayıtlı bir 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 Dize 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. Klasör bir klasör olarak bağlanır ve 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ümler.

Veri yapıtlarının veya yapıtlarının depolama konumunun yalnızca URL'si için, verilerin kendisini bağlamak veya indirmek yerine modu kullanın direct . Bu, iş girişi olarak depolama konumunun URL'sini geçirir. Bu durumda, depolama alanına erişmek için kimlik bilgilerini işlemek sizin sorumluluğundadır.
ro_mount, download, direct ro_mount

İş çıkışları

Anahtar Type Açıklama İzin verilen değerler Default value
type Dize İş çıkış 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 Dize Çıkış dosyasının veya dosyaların hedef depolamaya teslim modu. Okuma-yazma bağlama modu ()rw_mount için çıkış dizini bağlı bir dizindir. Karşıya yükleme modu için yazılan tüm dosyalar işin sonunda karşıya yüklenir. rw_mount, upload rw_mount

Kimlik yapılandırmaları

UserIdentityConfiguration

Anahtar Type Açıklama İzin verilen değerler
type const Gerekli. Kimlik türü. user_identity

ManagedIdentityConfiguration

Anahtar Type Açıklama İzin verilen değerler
type const Gerekli. Kimlik türü. managed veya managed_identity

Açıklamalar

Komutunu kullanarak az ml job Azure Machine Learning işlerini yönetebilirsiniz.

Örnekler

Örnekler için GitHub deposunu ziyaret edin. Burada 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.1@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 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-1.1@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