RunConfiguration Sınıf

Azure Machine Learning'de farklı işlem hedeflerini hedefleyen deneme çalıştırmaları için yapılandırmayı temsil eder.

RunConfiguration nesnesi, bir denemede eğitim çalıştırması göndermek için gereken bilgileri kapsüller. Genellikle, doğrudan bir RunConfiguration nesnesi oluşturmaz, ancak sınıfın yöntemi gibi submit onu döndüren bir yöntemden bir nesne Experiment alırsınız.

RunConfiguration, tetiklediğiniz çalıştırma türüne bağlı olarak diğer yapılandırma adımı türlerinde de kullanılan bir temel ortam yapılandırmasıdır. Örneğin, bir PythonScriptStepayarlarken adımın RunConfiguration nesnesine erişebilir ve Conda bağımlılıklarını yapılandırabilir veya çalıştırmanın ortam özelliklerine erişebilirsiniz.

Çalıştırma yapılandırmaları örnekleri için bkz. Modelinizi eğitmek için işlem hedefi seçme ve kullanma.

Varsayılan ayarlarla bir RunConfiguration başlatın.

Devralma
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElement
RunConfiguration

Oluşturucu

RunConfiguration(script=None, arguments=None, framework=None, communicator=None, conda_dependencies=None, _history_enabled=None, _path=None, _name=None, command=None)

Parametreler

script
str
varsayılan değer: None

Python betik dosyasının göreli yolu. Dosya yolu, öğesine geçirilen kaynak dizine submitgöredir.

arguments
list[str]
varsayılan değer: None

Python betik dosyası için komut satırı bağımsız değişkenleri.

framework
str
varsayılan değer: None

Çalıştırmada kullanılan hedeflenen çerçeve. Desteklenen çerçeveler Python, PySpark, TensorFlow ve PyTorch'tır.

communicator
str
varsayılan değer: None

Çalıştırmada kullanılan communicator. Desteklenen iletişimciler None, ParameterServer, OpenMpi ve IntelMpi'dir. OpenMpi'nin OpenMpi'nin yüklü olduğu özel bir görüntü gerektirdiğini unutmayın. AmlCompute kümeleri için ParameterServer veya OpenMpi kullanın. Dağıtılmış eğitim işleri için IntelMpi kullanın.

conda_dependencies
CondaDependencies
varsayılan değer: None

Varsayılan False değerinde bırakıldığında, sistem içinde conda_dependenciesbelirtilen paketleri içeren bir Python ortamı oluşturur. True ayarlandığında, python_interpreter ayarıyla mevcut bir Python ortamı belirtilebilir.

auto_prepare_environment
bool
Gerekli

KALDIRIL -MIŞ. Bu ayar artık kullanılmaz.

command
list[str] veya str
varsayılan değer: None

Çalıştırma için gönderilecek komut. Komut özelliği betik/bağımsız değişkenler yerine de kullanılabilir. Çalıştırma göndermek için hem komut hem de betik/bağımsız değişken özellikleri birlikte kullanılamaz. ['python', 'train.py', '–arg1', arg1_val] komut özelliğini kullanarak bir betik dosyası göndermek için - ['ls']

_history_enabled
varsayılan değer: None
_path
varsayılan değer: None
_name
varsayılan değer: None

Açıklamalar

Makine öğrenmesi sistemlerini genellikle belirli bir sorunu çözmek için oluştururuz. Örneğin, bir sorguya karşılık gelen arama sonuçları olarak sunulan web sayfalarını dereceleyen en iyi modeli bulmak isteyebiliriz. En iyi makine öğrenmesi modeli aramamız için farklı algoritmaları denememiz veya farklı parametre ayarlarını göz önünde bulundurmamız gerekebilir.

Azure Machine Learning SDK'sında, farklı eğitim çalıştırmalarının çözmeye çalıştıkları sorunla ilgili olduğu kavramını yakalamak için deneme kavramını kullanırız. Ardından, Experiment bu eğitim çalıştırmaları için mantıksal kapsayıcı görevi görerek eğitim çalıştırmaları arasında ilerleme durumunu izlemeyi, doğrudan iki eğitim çalıştırmasını karşılaştırmayı vb. kolaylaştırır.

RunConfiguration, bir denemede eğitim çalıştırması göndermek için gereken yürütme ortamı ayarlarını kapsüller. Aynı makine öğrenmesi sorununu çözmek için tasarlanmış eğitim çalıştırmalarının hem paylaşılan yapısını hem de farklı eğitim çalıştırmalarını birbirinden ayıran yapılandırma parametrelerindeki (ör. öğrenme oranı, kayıp işlevi vb.) farkları yakalar.

Tipik eğitim senaryolarında RunConfiguration, bir RunConfiguration nesnesini ve eğitim için bir yürütme betiğini birlikte paketleyen bir nesne oluşturularak ScriptRunConfig kullanılır.

RunConfiguration yapılandırması şunları içerir:

  • Gönderilen betik de dahil olmak üzere deneme kaynak dizinini paketleme.

  • Gönderilen betik için Komut satırı bağımsız değişkenlerini ayarlama.

  • Python yorumlayıcısı için yolu yapılandırma.

  • Uygulama bağımlılıklarını yönetmek için için conda yapılandırmasını alın. İş gönderme işlemi, geçici bir Conda ortamı sağlamak ve uygulamayı içinde başlatmak için yapılandırmayı kullanabilir. Geçici ortamlar önbelleğe alınır ve sonraki çalıştırmalarda yeniden kullanılır.

  • Docker ve özel temel görüntülerin isteğe bağlı kullanımı.

  • Denemeyi birden çok Azure işlem türüne göndermeye ilişkin isteğe bağlı seçim.

  • Girişleri gerçekleştirmeyi ve çıkışları karşıya yüklemeyi yapılandırmaya yönelik isteğe bağlı seçim.

  • Spark ve tensorflow gibi yaygın çalışma zamanları için gelişmiş çalışma zamanı ayarları.

Aşağıdaki örnekte, yerel makinenize eğitim betiği gönderme işlemi gösterilmektedir.


   from azureml.core import ScriptRunConfig, RunConfiguration, Experiment

   # create or load an experiment
   experiment = Experiment(workspace, "MyExperiment")
   # run a trial from the train.py code in your current directory
   config = ScriptRunConfig(source_directory='.', script='train.py',
       run_config=RunConfiguration())
   run = experiment.submit(config)

Aşağıdaki örnekte, betik ve bağımsız değişkenler yerine komut özelliğini kullanarak kümenize eğitim betiği gönderme işlemi gösterilmektedir.


   from azureml.core import ScriptRunConfig, Experiment
   # create or load an experiment
   experiment = Experiment(workspace, 'MyExperiment')
   # create or retrieve a compute target
   cluster = workspace.compute_targets['MyCluster']
   # create or retrieve an environment
   env = Environment.get(ws, name='MyEnvironment')
   # configure and submit your training run
   config = ScriptRunConfig(source_directory='.',
                            command=['python', 'train.py', '--arg1', arg1_val],
                            compute_target=cluster,
                            environment=env)
   script_run = experiment.submit(config)

Aşağıdaki örnekte kümenizde bir komutun nasıl çalıştırılacakları gösterilmektedir.


   from azureml.core import ScriptRunConfig, Experiment
   # create or load an experiment
   experiment = Experiment(workspace, 'MyExperiment')
   # create or retrieve a compute target
   cluster = workspace.compute_targets['MyCluster']
   # create or retrieve an environment
   env = Environment.get(ws, name='MyEnvironment')
   # configure and submit your training run
   config = ScriptRunConfig(source_directory='.',
                            command=['ls', '-l'],
                            compute_target=cluster,
                            environment=env)
   script_run = experiment.submit(config)

Değişkenler

environment
Environment

Ortam tanımı. Bu alan Python ortamını yapılandırıyor. Mevcut bir Python ortamını kullanacak şekilde yapılandırılabilir veya deneme için geçici bir ortam ayarlamak üzere yapılandırılabilir. Tanım, gerekli uygulama bağımlılıklarını ayarlamakla da sorumludur.

max_run_duration_seconds
int

Çalıştırma için izin verilen en uzun süre. Sistem, bu değerden daha uzun sürerse çalıştırmayı otomatik olarak iptal etmeye çalışır.

node_count
int

İş için kullanılacak düğüm sayısı.

priority
int

zamanlama ilkesi için işin önceliği.

history
HistoryConfiguration

Deneme geçmişi günlüğe kaydetme özelliklerini devre dışı bırakmak ve etkinleştirmek için kullanılan yapılandırma bölümü.

spark
SparkConfiguration

Platform PySpark olarak ayarlandığında Spark yapılandırma bölümü, gönderilen iş için varsayılan SparkConf'u ayarlamak için kullanılır.

hdi
HdiConfiguration

HDI yapılandırma bölümü yalnızca hedef bir Azure HDI işlemine ayarlandığında geçerlilik kazanır. HDI Yapılandırması, YARN dağıtım modunu ayarlamak için kullanılır. Varsayılan dağıtım modu kümedir.

docker
DockerConfiguration

Docker yapılandırması bölümü, Docker ortamı için değişkenleri ayarlamak için kullanılır.

tensorflow
TensorflowConfiguration

Dağıtılmış TensorFlow parametrelerini yapılandırmak için kullanılan yapılandırma bölümü. Bu parametre yalnızca framework TensorFlow ve communicator ParameterServer olarak ayarlandığında geçerlilik kazanır. AmlCompute bu yapılandırma için desteklenen tek işlemdir.

mpi
MpiConfiguration

Dağıtılmış MPI iş parametrelerini yapılandırmak için kullanılan yapılandırma bölümü. Bu parametre yalnızca framework python ve communicator OpenMpi veya IntelMpi olarak ayarlandığında geçerlilik kazanır. AmlCompute bu yapılandırma için desteklenen tek işlem türüdür.

pytorch
PyTorchConfiguration

Dağıtılmış PyTorch iş parametrelerini yapılandırmak için kullanılan yapılandırma bölümü. Bu parametre yalnızca framework , PyTorch ve communicator Nccl veya Gloo olarak ayarlandığında geçerlilik kazanır. AmlCompute bu yapılandırma için desteklenen tek işlem türüdür.

paralleltask
ParallelTaskConfiguration

Dağıtılmış paralleltask işi parametrelerini yapılandırmak için kullanılan yapılandırma bölümü. Bu parametre yalnızca framework , Python ve communicator ParallelTask olarak ayarlandığında geçerlilik kazanır. AmlCompute bu yapılandırma için desteklenen tek işlem türüdür.

data_references
dict[str, DataReferenceConfiguration]

Tüm veri kaynakları, her yapılandırmaya göre yürütme sırasında çalıştırılır. Sözlüğün her öğesi için anahtar, veri kaynağına verilen bir addır ve değer dataReferenceConfiguration değeridir.

data
dict[str, Data]

Yürütme sırasında çalıştırmanın kullanımına sunulacak tüm veriler.

datacaches
<xref:buildin.list>[DatacacheConfiguration]

Yürütme sırasında datacache'i çalıştırma için kullanılabilir hale getirmek için tüm veriler.

output_data
OutputData

Bu çalıştırma için karşıya yüklenmesi ve izlenmesi gereken tüm çıkışlar.

source_directory_data_store
str

Proje paylaşımı için yedekleme veri deposu.

amlcompute
AmlComputeConfiguration

Deneme sırasında oluşturulacak işlem hedefinin ayrıntıları. Yapılandırma yalnızca işlem hedefi AmlCompute olduğunda geçerlilik kazanır.

kubernetescompute
KubernetesComputeConfiguration

Deneme sırasında kullanılacak işlem hedefinin ayrıntıları. Yapılandırma yalnızca işlem hedefi KubernetesCompute olduğunda geçerlilik kazanır.

services
dict[str, ApplicationEndpointConfiguration]

İşlem kaynağıyla etkileşimli uç noktalar. İzin verilen uç noktalar Jupyter, JupyterLab, VS Code, Tensorboard, SSH ve Özel bağlantı noktalarıdır.

Yöntemler

delete

Çalıştırma yapılandırma dosyasını silin.

Yapılandırma dosyası bulunamazsa bir UserErrorException oluşturur.

load

Daha önce kaydedilmiş bir çalıştırma yapılandırma dosyasını disk üzerindeki bir dosyadan yükleyin.

Bir dosyaya işaret ederse path RunConfiguration bu dosyadan yüklenir.

Proje dizini olması gereken bir dizine işaret edersepath, RunConfiguration path>/.azureml/<name> veya <path>/aml_config/<name> yolundan <yüklenir.

save

RunConfiguration'ı disk üzerindeki bir dosyaya kaydedin.

A UserErrorException şu durumlarda oluşturulur:

  • RunConfiguration belirtilen adla kaydedilemez.

  • Parametre name belirtilmedi.

  • path Parametre geçersiz.

dir_path geçerli bir dizin olduğu <dir_path/file_name biçimindeyse<path, RunConfiguration dir_path>/<file_name'a <>kaydedilir.><>>

Proje dizini olması gereken bir dizine işaret ederse path RunConfiguration path>/.azureml/<name> veya <path>/aml_config/<name dizinine> kaydedilir<.

Bu yöntem, yapılandırmayı el ile düzenlerken veya yapılandırmayı CLI ile paylaşırken kullanışlıdır.

delete

Çalıştırma yapılandırma dosyasını silin.

Yapılandırma dosyası bulunamazsa bir UserErrorException oluşturur.

static delete(path, name)

Parametreler

path
str
Gerekli

Kullanıcı, çalıştırma yapılandırmaları için kök dizini seçti. Bu genellikle Git Deposu veya Python projesi kök dizinidir. Yapılandırma .azureml adlı bir alt dizinden silinir.

name
str
Gerekli

Yapılandırma dosyası adı.

Özel durumlar

UserErrorException

load

Daha önce kaydedilmiş bir çalıştırma yapılandırma dosyasını disk üzerindeki bir dosyadan yükleyin.

Bir dosyaya işaret ederse path RunConfiguration bu dosyadan yüklenir.

Proje dizini olması gereken bir dizine işaret edersepath, RunConfiguration path>/.azureml/<name> veya <path>/aml_config/<name> yolundan <yüklenir.

static load(path, name=None)

Parametreler

path
str
Gerekli

Kullanıcı, çalıştırma yapılandırmaları için kök dizini seçti. Bu genellikle Git Deposu veya Python projesi kök dizinidir. Geriye dönük uyumluluk için yapılandırma .azureml veya aml_config alt dizininden de yüklenir. Dosya bu dizinlerde değilse, dosya belirtilen yoldan yüklenir.

name
str
varsayılan değer: None

Yapılandırma dosyası adı.

Döndürülenler

Çalıştırma yapılandırma nesnesi.

Dönüş türü

Özel durumlar

UserErrorException

save

RunConfiguration'ı disk üzerindeki bir dosyaya kaydedin.

A UserErrorException şu durumlarda oluşturulur:

  • RunConfiguration belirtilen adla kaydedilemez.

  • Parametre name belirtilmedi.

  • path Parametre geçersiz.

dir_path geçerli bir dizin olduğu <dir_path/file_name biçimindeyse<path, RunConfiguration dir_path>/<file_name'a <>kaydedilir.><>>

Proje dizini olması gereken bir dizine işaret ederse path RunConfiguration path>/.azureml/<name> veya <path>/aml_config/<name dizinine> kaydedilir<.

Bu yöntem, yapılandırmayı el ile düzenlerken veya yapılandırmayı CLI ile paylaşırken kullanışlıdır.

save(path=None, name=None, separate_environment_yaml=False)

Parametreler

separate_environment_yaml
bool
varsayılan değer: False

Conda ortam yapılandırmasının kaydedilip kaydedilmeyeceğini gösterir. True ise, Conda ortam yapılandırması 'environment.yml' adlı bir YAML dosyasına kaydedilir.

path
str
varsayılan değer: None

Kullanıcı, çalıştırma yapılandırmaları için kök dizini seçti. Bu genellikle Git Deposu veya Python projesi kök dizinidir. Yapılandırma .azureml adlı bir alt dizine kaydedilir.

name
str
varsayılan değer: None

[Gerekli] Yapılandırma dosyası adı.

Dönüş türü

Özel durumlar

UserErrorException

Öznitelikler

auto_prepare_environment

parametresini auto_prepare_environment alın. Bu, kullanım dışı ve kullanılmayan bir ayardır.

environment_variables

Çalışma zamanı ortam değişkenleri.

Döndürülenler

Çalışma zamanı değişkenleri

Dönüş türü

target

İşin yürütülmeye zamanlandığı işlem hedefini alma.

Varsayılan hedef, yerel makineye başvuran "yerel" hedeftir. kullanılabilir bulut işlem hedefleri işlevi compute_targetskullanılarak bulunabilir.

Döndürülenler

Hedef adı

Dönüş türü

str