Aracılığıyla paylaş


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 Experiment bir nesne 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ının ö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

Name Description
script
str

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

varsayılan değer: None
arguments

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

varsayılan değer: None
framework
str

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

varsayılan değer: None
communicator
str

Çalıştırmada kullanılan communicator. Desteklenen iletişimciler None, ParameterServer, OpenMpi ve IntelMpi'dir. OpenMpi için OpenMpi'nin yüklü olduğu özel bir görüntü gerektiğ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.

varsayılan değer: None
conda_dependencies

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.

varsayılan değer: None
auto_prepare_environment
Gerekli

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

command
list[str] veya str

Ç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. Komut dosyasını göndermek için - ['python', 'train.py', '–arg1', arg1_val] Gerçek bir komut çalıştırmak için - ['ls']

varsayılan değer: None
_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 servis edilebilecek web sayfalarını dereceleyen en iyi modeli bulmak ilgimizi çekebilir. En iyi makine öğrenmesi modeli aramamız farklı algoritmaları denememizi veya farklı parametre ayarlarını düşünmemizi gerektirebilir.

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ı işlevi 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 tasarlanan 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 ScriptRunConfig RunConfiguration nesnesini ve eğitim için yürütme betiğini bir araya getiren bir nesne oluşturularak 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 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önderme seçeneği isteğe bağlı olarak sunulur.

  • 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 makinenizde 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ümenizde 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ılır 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

Name Description
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 ayarlanacak şekilde 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

İlke zamanlama işinin önceliği.

history

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

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

hdi

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

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

tensorflow

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

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

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

Dağıtılmış paralleltask 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

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

data

Yürütme sırasında çalıştırılabilmesi için 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

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

source_directory_data_store
str

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

amlcompute

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

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

İş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

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

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

Proje dizini olması gereken bir dizine işaret ederse path 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 edersepath, RunConfiguration path>/.azureml/<name> veya <path>/aml_config/<name adresine> kaydedilir<.

Bu yöntem, yapılandırmayı el ile düzenlerken veya yapılandırmayı CLI ile paylaşırken yararlı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

Name Description
path
Gerekli
str

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

name
Gerekli
str

Yapılandırma dosyası adı.

Özel durumlar

Tür Description
UserErrorException

load

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

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

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

static load(path, name=None)

Parametreler

Name Description
path
Gerekli
str

Kullanıcı çalıştırma yapılandırmaları için kök dizin 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 dizinden de yüklenir. Dosya bu dizinlerde değilse, dosya belirtilen yoldan yüklenir.

name
str

Yapılandırma dosyası adı.

varsayılan değer: None

Döndürülenler

Tür Description

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

Özel durumlar

Tür Description
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 edersepath, RunConfiguration path>/.azureml/<name> veya <path>/aml_config/<name adresine> kaydedilir<.

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

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

Parametreler

Name Description
separate_environment_yaml

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.

varsayılan değer: False
path
str

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

varsayılan değer: None
name
str

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

varsayılan değer: None

Döndürülenler

Tür Description

Özel durumlar

Tür Description
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

Tür Description

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

target

İşin yürütülmesi için zamanlandığı işlem hedefini alın.

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

Tür Description
str

Hedef adı