RunConfiguration Osztály

A különböző számítási célokat célzó kísérletfuttatások konfigurációját jelöli az Azure Machine Learningben.

A RunConfiguration objektum egy kísérlet betanítási futtatásának elküldéséhez szükséges információkat foglalja magában. Általában nem közvetlenül hoz létre RunConfiguration objektumot, hanem egy olyan metódusból kap egyet, amely visszaadja azt, például a submitExperiment osztály metódusát.

A RunConfiguration egy alapkörnyezeti konfiguráció, amelyet más típusú konfigurációs lépésekben is használnak, amelyek attól függenek, hogy milyen típusú futtatást aktivál. Például a PythonScriptStepbeállításakor elérheti a lépés RunConfiguration objektumát, konfigurálhatja a Conda-függőségeket, vagy hozzáférhet a futtatás környezeti tulajdonságaihoz.

A futtatási konfigurációkra vonatkozó példákért lásd: Számítási cél kiválasztása és használata a modell betanítása céljából.

Inicializáljon egy RunConfigurationt az alapértelmezett beállításokkal.

Öröklődés
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElement
RunConfiguration

Konstruktor

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

Paraméterek

script
str
alapértelmezett érték: None

A Python-szkriptfájl relatív elérési útja. A fájl elérési útja a következőnek átadott forráskönyvtárhoz viszonyítva submitvan: .

arguments
list[str]
alapértelmezett érték: None

A Python-szkriptfájl parancssori argumentumai.

framework
str
alapértelmezett érték: None

A futtatás során használt célzott keretrendszer. A támogatott keretrendszerek a Következők: Python, PySpark, TensorFlow és PyTorch.

communicator
str
alapértelmezett érték: None

A futtatáskor használt kommunikátor. A támogatott kommunikátorok a Következők: None, ParameterServer, OpenMpi és IntelMpi. Ne feledje, hogy az OpenMpi egyéni rendszerképet igényel, amelyen telepítve van az OpenMpi. Az AmlCompute-fürtökhöz használja a ParameterServer vagy az OpenMpi parancsot. Az IntelMpi használata elosztott betanítási feladatokhoz.

conda_dependencies
CondaDependencies
alapértelmezett érték: None

Ha a False (Hamis) alapértelmezett értéknél marad, a rendszer létrehoz egy Python-környezetet, amely tartalmazza a(z) rendszerben conda_dependenciesmegadott csomagokat. Ha igaz értékre van állítva, egy meglévő Python-környezet is megadható a python_interpreter beállítással.

auto_prepare_environment
bool
Kötelező

ELAVULT. Ez a beállítás már nem használatos.

command
list[str] vagy str
alapértelmezett érték: None

A futtatáshoz elküldendő parancs. A parancstulajdonság szkriptek/argumentumok helyett is használható. A parancs- és szkript-/argumentumtulajdonságok nem használhatók együtt futtatás elküldéséhez. Szkriptfájl elküldése a következő parancstulajdonság használatával: "python", "train.py", "–arg1", arg1_val] Tényleges parancs futtatása – [ls]

_history_enabled
alapértelmezett érték: None
_path
alapértelmezett érték: None
_name
alapértelmezett érték: None

Megjegyzések

Gépi tanulási rendszereket általában egy adott probléma megoldására hozunk létre. Előfordulhat például, hogy a legjobb modellt szeretnénk megtalálni, amely a lekérdezésnek megfelelő keresési eredményekként kiszolgált weblapokat rangsorolja. A legjobb gépi tanulási modell kereséséhez különböző algoritmusokat kell kipróbálnunk, vagy különböző paraméterbeállításokat kell figyelembe vennünk stb.

Az Azure Machine Learning SDK-ban egy kísérlet koncepcióját használjuk annak a fogalomnak a rögzítésére, hogy a különböző betanítási futtatások a megoldani kívánt probléma miatt kapcsolódnak. A Experiment betanítási futtatások logikai tárolójaként szolgálnak, így könnyebben nyomon követheti a betanítási futtatások előrehaladását, közvetlenül összehasonlíthat két betanítási futtatásokat stb.

A RunConfiguration magában foglalja a kísérlet betanítási futtatásának elküldéséhez szükséges végrehajtási környezeti beállításokat. Rögzíti a betanítási futtatások ugyanazon gépi tanulási probléma megoldására tervezett megosztott struktúráját, valamint a konfigurációs paraméterek (például tanulási sebesség, veszteségfüggvény stb.) közötti különbségeket, amelyek megkülönböztetik a különböző betanítási futtatásokat egymástól.

A tipikus betanítási forgatókönyvekben a RunConfiguration egy olyan objektum létrehozásával ScriptRunConfig használható, amely egy RunConfiguration objektumot és egy végrehajtási szkriptet csomagol össze a betanításhoz.

A RunConfiguration konfigurációja a következőket tartalmazza:

  • A kísérlet forráskönyvtárának összekapcsolása a beküldött szkripttel együtt.

  • A beküldött szkript parancssori argumentumainak beállítása.

  • A Python-értelmező elérési útjának konfigurálása.

  • Szerezze be a Conda konfigurációját az alkalmazásfüggőségek kezeléséhez. A feladatbeküldési folyamat a konfigurációval kiépíthet egy ideiglenes Conda-környezetet, és elindíthatja az alkalmazást. A rendszer gyorsítótárazza és újra felhasználja az ideiglenes környezeteket a későbbi futtatások során.

  • A Docker és az egyéni alaprendszerképek nem kötelező használata.

  • Választható lehetőség, hogy a kísérletet többféle Azure-számítási típusnak küldje el.

  • Választható lehetőség a bemenetek materializálásának és a kimenetek feltöltésének konfigurálására.

  • A gyakori futtatókörnyezetek, például a spark és a tensorflow speciális futásidejű beállításai.

Az alábbi példa bemutatja, hogyan küldhet be betanítási szkriptet a helyi gépen.


   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)

Az alábbi példa bemutatja, hogyan küldhet be betanítási szkriptet a fürtön szkript és argumentumok helyett a parancstulajdonság használatával.


   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)

Az alábbi minta bemutatja, hogyan futtathat parancsokat a fürtön.


   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)

Változók

environment
Environment

A környezet definíciója. Ez a mező konfigurálja a Python-környezetet. Konfigurálható egy meglévő Python-környezet használatára, vagy konfigurálható egy ideiglenes környezet beállítására a kísérlethez. A definíció a szükséges alkalmazásfüggőségek beállításáért is felelős.

max_run_duration_seconds
int

A futtatáshoz engedélyezett maximális idő. A rendszer megpróbálja automatikusan megszakítani a futtatásokat, ha az ennél az értéknél tovább tartott.

node_count
int

A feladathoz használandó csomópontok száma.

priority
int

A feladat prioritása az ütemezési szabályzathoz.

history
HistoryConfiguration

A kísérletelőzmények naplózási funkcióinak letiltására és engedélyezésére szolgáló konfigurációs szakasz.

spark
SparkConfiguration

Ha a platform PySparkra van állítva, a Rendszer a Spark konfigurációs szakaszával állítja be az elküldött feladat alapértelmezett SparkConfját.

hdi
HdiConfiguration

A HDI-konfiguráció szakasz csak akkor lép érvénybe, ha a cél egy Azure HDI-számításra van beállítva. A HDI-konfiguráció a YARN üzembehelyezési módjának beállítására szolgál. Az alapértelmezett üzembehelyezési mód a fürt.

docker
DockerConfiguration

A Docker konfigurációs szakasza a Docker-környezet változóinak beállítására szolgál.

tensorflow
TensorflowConfiguration

Az elosztott TensorFlow-paraméterek konfigurálásához használt konfigurációs szakasz. Ez a paraméter csak akkor lép érvénybe, ha a framework értéke TensorFlow, a communicator ParaméterKiszolgáló. AmlCompute az egyetlen támogatott számítás ehhez a konfigurációhoz.

mpi
MpiConfiguration

Az elosztott MPI-feladatparaméterek konfigurálásához használt konfigurációs szakasz. Ez a paraméter csak akkor lép érvénybe, ha a framework értéke Python, a communicator értéke Pedig OpenMpi vagy IntelMpi. AmlCompute az egyetlen támogatott számítási típus ehhez a konfigurációhoz.

pytorch
PyTorchConfiguration

Az elosztott PyTorch-feladatparaméterek konfigurálásához használt konfigurációs szakasz. Ez a paraméter csak akkor lép érvénybe, ha a framework Értéke PyTorch, a communicator értéke pedig Nccl vagy Gloo. AmlCompute az egyetlen támogatott számítási típus ehhez a konfigurációhoz.

paralleltask
ParallelTaskConfiguration

Az elosztott párhuzamosfeladat-feladatok paramétereinek konfigurálásához használt konfigurációs szakasz. Ez a paraméter csak akkor lép érvénybe, ha a framework pythonra van állítva, a Pedig a communicator ParallelTask értékre. AmlCompute az egyetlen támogatott számítási típus ehhez a konfigurációhoz.

data_references
dict[str, DataReferenceConfiguration]

A futtatás során minden adatforrás elérhető az egyes konfigurációk alapján. A szótár minden eleméhez a kulcs az adatforrásnak adott név, az érték pedig a DataReferenceConfiguration.

data
dict[str, Data]

A futtatás során elérhetővé tenni kívánt összes adat.

datacaches
<xref:buildin.list>[DatacacheConfiguration]

Az összes adat, amely elérhetővé teszi a datacache-t a futtatás során.

output_data
OutputData

Minden olyan kimenet, amelyet fel kell tölteni és nyomon kell követni ehhez a futtatáshoz.

source_directory_data_store
str

A projektmegosztás háttéradattára.

amlcompute
AmlComputeConfiguration

A kísérlet során létrehozandó számítási cél részletei. A konfiguráció csak akkor lép érvénybe, ha a számítási cél az AmlCompute.

kubernetescompute
KubernetesComputeConfiguration

A kísérlet során használandó számítási cél részletei. A konfiguráció csak akkor lép érvénybe, ha a számítási cél a KubernetesCompute.

services
dict[str, ApplicationEndpointConfiguration]

Végpontok a számítási erőforrással való interaktív használathoz. Az engedélyezett végpontok a Következők: Jupyter, JupyterLab, VS Code, Tensorboard, SSH és Egyéni portok.

Metódusok

delete

Futtassa a konfigurációs fájlt.

A(z) értéket ad UserErrorException , ha a konfigurációs fájl nem található.

load

Töltsön be egy korábban mentett futtatási konfigurációs fájlt egy lemezen lévő fájlból.

Ha path egy fájlra mutat, a RunConfiguration be lesz töltve a fájlból.

Ha path egy könyvtárra mutat, amelynek projektkönyvtárnak kell lennie, akkor a RunConfiguration a path>/.azureml/<name> vagy <path>/aml_config/<name> fájlból <töltődik be.

save

Mentse a RunConfiguration fájlt egy lemezen lévő fájlba.

Az A UserErrorException akkor jön létre, ha:

  • A RunConfiguration nem menthető a megadott névvel.

  • Nincs name megadva paraméter.

  • A path paraméter érvénytelen.

Ha path dir_path/<file_name> formátumú<>, ahol <dir_path> érvényes könyvtár, akkor a RunConfiguration a dir_path>/<file_name> mappába <lesz mentve.

Ha path egy könyvtárra mutat, amelynek projektkönyvtárnak kell lennie, akkor a RunConfiguration a path>/.azureml/<name> vagy <path>/aml_config/<name> helyre lesz mentve<.

Ez a módszer akkor hasznos, ha manuálisan szerkeszti a konfigurációt, vagy ha megosztja a konfigurációt a parancssori felülettel.

delete

Futtassa a konfigurációs fájlt.

A(z) értéket ad UserErrorException , ha a konfigurációs fájl nem található.

static delete(path, name)

Paraméterek

path
str
Kötelező

Egy felhasználó kiválasztotta a gyökérkönyvtárat a futtatási konfigurációkhoz. Ez általában a Git-adattár vagy a Python-projekt gyökérkönyvtára. A konfiguráció törlődik egy .azureml nevű alkönyvtárból.

name
str
Kötelező

A konfigurációs fájl neve.

Kivételek

UserErrorException

load

Töltsön be egy korábban mentett futtatási konfigurációs fájlt egy lemezen lévő fájlból.

Ha path egy fájlra mutat, a RunConfiguration be lesz töltve a fájlból.

Ha path egy könyvtárra mutat, amelynek projektkönyvtárnak kell lennie, akkor a RunConfiguration a path>/.azureml/<name> vagy <path>/aml_config/<name> fájlból <töltődik be.

static load(path, name=None)

Paraméterek

path
str
Kötelező

Egy felhasználó kiválasztotta a gyökérkönyvtárat a futtatási konfigurációkhoz. Ez általában a Git-adattár vagy a Python-projekt gyökérkönyvtára. A visszamenőleges kompatibilitás érdekében a konfiguráció az .azureml-ből vagy aml_config alkönyvtárból is betöltődik. Ha a fájl nem szerepel ezekben a könyvtárakban, a rendszer a megadott elérési útból tölti be a fájlt.

name
str
alapértelmezett érték: None

A konfigurációs fájl neve.

Válaszok

A futtatási konfigurációs objektum.

Visszatérési típus

Kivételek

UserErrorException

save

Mentse a RunConfiguration fájlt egy lemezen lévő fájlba.

Az A UserErrorException akkor jön létre, ha:

  • A RunConfiguration nem menthető a megadott névvel.

  • Nincs name megadva paraméter.

  • A path paraméter érvénytelen.

Ha path dir_path/<file_name> formátumú<>, ahol <dir_path> érvényes könyvtár, akkor a RunConfiguration a dir_path>/<file_name> mappába <lesz mentve.

Ha path egy könyvtárra mutat, amelynek projektkönyvtárnak kell lennie, akkor a RunConfiguration a path>/.azureml/<name> vagy <path>/aml_config/<name> helyre lesz mentve<.

Ez a módszer akkor hasznos, ha manuálisan szerkeszti a konfigurációt, vagy ha megosztja a konfigurációt a parancssori felülettel.

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

Paraméterek

separate_environment_yaml
bool
alapértelmezett érték: False

Azt jelzi, hogy menti-e a Conda-környezet konfigurációját. Ha igaz, a Conda-környezet konfigurációja egy "environment.yml" nevű YAML-fájlba lesz mentve.

path
str
alapértelmezett érték: None

Egy felhasználó kiválasztotta a gyökérkönyvtárat a futtatási konfigurációkhoz. Ez általában a Git-adattár vagy a Python-projekt gyökérkönyvtára. A konfigurációt a rendszer egy .azureml nevű alkönyvtárba menti.

name
str
alapértelmezett érték: None

[Kötelező] A konfigurációs fájl neve.

Visszatérési típus

Kivételek

UserErrorException

Attribútumok

auto_prepare_environment

Kérje le a paramétert auto_prepare_environment . Ez egy elavult és nem használt beállítás.

environment_variables

Futtatókörnyezet környezeti változói.

Válaszok

Futásidejű változók

Visszatérési típus

target

Számítási cél lekérése, ahol a feladat végrehajtásra van ütemezve.

Az alapértelmezett cél a helyi gépre hivatkozó "local" (helyi). A rendelkezésre álló felhőalapú számítási célok a függvénnyel compute_targetsérhetők el.

Válaszok

A cél neve

Visszatérési típus

str