Megosztás a következőn keresztül:


ParallelRunConfig Osztály

Egy objektum konfigurációját ParallelRunStep határozza meg.

A ParallelRunStep használatára példaként tekintse meg a jegyzetfüzetet https://aka.ms/batch-inference-notebooks.

A hibaelhárítási útmutatót lásd: https://aka.ms/prstsg. További referenciákat itt talál.

Inicializálja a konfigurációs objektumot.

Öröklődés
azureml.pipeline.core._parallel_run_config_base._ParallelRunConfigBase
ParallelRunConfig

Konstruktor

ParallelRunConfig(environment, entry_script, error_threshold, output_action, compute_target, node_count, process_count_per_node=None, mini_batch_size=None, source_directory=None, description=None, logging_level='INFO', run_invocation_timeout=60, run_max_try=3, append_row_file_name=None, allowed_failed_count=None, allowed_failed_percent=None, partition_keys=None, environment_variables=None)

Paraméterek

Name Description
environment
Kötelező

A Python-környezetet konfiguráló környezetdefiníció. Konfigurálható egy meglévő Python-környezet használatára, vagy egy ideiglenes környezet beállítására a kísérlethez. A környezetdefiníció felelős a szükséges alkalmazásfüggőségek, például a conda vagy a pip csomagok definiálásáért.

entry_script
Kötelező
str

Több csomóponton párhuzamosan futó felhasználói szkript. Ez helyi fájlútvonalként van megadva. Ha source_directory meg van adva, akkor entry_script egy relatív elérési út a könyvtárban. Ellenkező esetben bármely, a gépen elérhető elérési út lehet. A entry_script két függvényt kell tartalmaznia: init()ezt a függvényt kell használni a későbbi következtetések költséges vagy gyakori előkészítéséhez, például a modell deszerializálásához és globális objektumba való betöltéséhez. run(mini_batch): A párhuzamosítandó módszer. Minden híváshoz egy mini köteg tartozik. "mini_batch": A kötegelt következtetés meghívja a futtatási metódust, és egy listát vagy egy Pandas DataFrame-et ad át argumentumként a metódusnak. A min_batch minden bejegyzése egy filepath lesz, ha a bemenet FileDataset, a Pandas DataFrame, ha a bemenet táblázatos adatkészlet. A run() metódusnak pandas DataFrame-et vagy tömböt kell visszaadnia. A append_row output_action ezek a visszaadott elemek hozzá lesznek fűzve a közös kimeneti fájlhoz. A summary_only az elemek tartalmát figyelmen kívül hagyja. Minden kimeneti művelet esetében minden visszaadott kimeneti elem a bemeneti mini köteg bemeneti elemének egy sikeres következtetését jelzi. Minden párhuzamos munkavégző folyamat egyszer meghívja az initet , majd a futtatási függvényt hurkolja addig, amíg az összes mini köteg fel nem dolgozódik.

error_threshold
Kötelező
int

A feldolgozás során figyelmen kívül kell hagyni a rekordhibák TabularDataset és a FileDataset fájlhibák számát. Ha a hibaszám meghaladja ezt az értéket, a feladat megszakad. A hibaküszöb a teljes bemenetre érvényes, nem pedig a run() metódusnak küldött egyes mini kötegekre. A tartomány [-1, int.max]. A -1 azt jelzi, hogy a feldolgozás során figyelmen kívül hagyja az összes hibát.

output_action
Kötelező
str

A kimenet rendszerezésének menete. A jelenlegi támogatott értékek a "append_row" és a "summary_only".

  1. "append_row" – A run() metódus meghívásakor megjelenő összes érték egyetlen egyedi fájlba lesz összesítve, parallel_run_step.txt néven, amely a kimeneti helyen jön létre.
  2. "summary_only" – A felhasználói szkriptnek magát a kimenetet kell tárolnia. A kimeneti sor továbbra is várható minden feldolgozott sikeres bemeneti elemhez. A rendszer ezt a kimenetet csak a hibaküszöb kiszámításához használja (figyelmen kívül hagyva a sor tényleges értékét).
compute_target
Kötelező

A ParallelRunStep végrehajtásához használandó számítási cél. Ez a paraméter megadható számítási célobjektumként vagy egy számítási cél neveként a munkaterületen.

node_count
Kötelező
int

A ParallelRunStep futtatásához használt számítási cél csomópontjainak száma.

process_count_per_node
int

A belépési szkript párhuzamos futtatásához csomópontonkénti munkavégző folyamatok száma. GPU-gép esetén az alapértelmezett érték 1. Processzorgép esetén az alapértelmezett érték a magok száma. A munkavégző folyamat a lekért mini köteg átadásával többször is meghívja run() a hívást. A feladatban lévő feldolgozói folyamatok teljes száma a process_count_per_node * node_count, amely a párhuzamos végrehajtás maximális számát run() határozza meg.

alapértelmezett érték: None
mini_batch_size

A FileDataset bemenete esetén ez a mező azoknak a fájloknak a számát adja meg, amelyet a felhasználói szkript egyetlen futtatási() hívásban képes feldolgozni. A TabularDataset bemenet esetében ez a mező a felhasználói szkript által egy futtatási() hívás során feldolgozható adatok hozzávetőleges mérete. Példaértékek: 1024, 1024 KB, 10 MB és 1 GB. (Nem kötelező, az alapértelmezett érték a FileDataset 10 fájlja, a TabularDataset esetében pedig 1 MB.)

alapértelmezett érték: None
source_directory
str

A számítási célon való végrehajtáshoz használt és azt támogató fájlokat tartalmazó entry_script mappa elérési útja.

alapértelmezett érték: None
description
str

Leírás a megjelenítési célokra használt batch-szolgáltatásról.

alapértelmezett érték: None
logging_level
str

A naplózási szint nevének sztringje, amely a naplózásban van definiálva. Lehetséges értékek: "WARNING", "INFO", és "DEBUG". (nem kötelező, az alapértelmezett érték az "INFO".)

alapértelmezett érték: INFO
run_invocation_timeout
int

Időtúllépés másodpercben a run() metódus minden egyes meghívásához. (nem kötelező, az alapértelmezett érték 60.)

alapértelmezett érték: 60
run_max_try
int

A sikertelen vagy időtúllépési mini kötegek maximális próbálkozásainak száma. A tartomány [1, int.max]. Az alapértelmezett érték 3. Az ennél nagyobb lekérdezőszámmal rendelkező mini kötegek feldolgozása nem történik meg újra, és közvetlenül törlődik.

alapértelmezett érték: 3
append_row_file_name
str

A kimeneti fájl neve, ha az output_action "append_row". (nem kötelező, az alapértelmezett érték a "parallel_run_step.txt")

alapértelmezett érték: None
allowed_failed_count
int

A feldolgozás során figyelmen kívül hagyandó sikertelen mini kötegek száma. Ha a sikertelen szám meghaladja ezt az értéket, a feladat megszakad. Ez a küszöbérték a teljes bemenetre érvényes, nem pedig a run() metódusnak küldött egyéni mini-kötegre. A tartomány [-1, int.max]. A -1 azt jelzi, hogy a feldolgozás során figyelmen kívül hagyja az összes hibát. A mini kötegek az első feldolgozáskor meghiúsulhatnak, majd a második próbálkozáskor sikeresek lehetnek. Az első és a második időpont közötti ellenőrzés sikertelennek számít. A második időpont utáni ellenőrzés nem számít sikertelennek. A (error_threshold, –allowed_failed_count és –allowed_failed_percent argumentum együtt működhet. Ha egynél több van megadva, a feladat megszakad, ha az meghaladja valamelyiket.

alapértelmezett érték: None
allowed_failed_percent

A sikertelen mini kötegek százalékos aránya, amelyet a feldolgozás során figyelmen kívül kell hagyni. Ha a sikertelen százalék meghaladja ezt az értéket, a feladat megszakad. Ez a küszöbérték a teljes bemenetre érvényes, nem pedig a run() metódusnak küldött egyéni mini-kötegre. A tartomány [0, 100]. A 100 vagy 100.0 azt jelzi, hogy a feldolgozás során figyelmen kívül hagyja az összes hibát. Az ellenőrzés az összes mini köteg ütemezése után kezdődik. A (error_threshold, –allowed_failed_count és –allowed_failed_percent argumentum együtt működhet. Ha egynél több van megadva, a feladat megszakad, ha az meghaladja valamelyiket.

alapértelmezett érték: None
partition_keys

Az adathalmaz mini kötegekre való particionálásához használt kulcsok. Ha meg van adva, az azonos kulccsal rendelkező adatok ugyanabba a mini kötegbe lesznek particionálva. Ha partition_keys és mini_batch_size is meg van adva, hiba jelenik meg. A bemeneti adatkészlet particionálásához használt str-elemek listájának kell lennie. Ha azonban pipelineParameter értékre léptetik elő, az alapértelmezett értékeknek a lista json memóriaképének kell lenniük, mivel a listatípus jelenleg nem támogatott a PipelineParameterben. A bemenet(ek)et particionált adatkészlet(ek)nek kell lennie, a partition_keys pedig az összes bemeneti adatkészlet kulcsainak egy részhalmazának kell lennie ahhoz, hogy ez működjön.

alapértelmezett érték: None
environment_variables

A környezeti változók nevének és értékeinek szótára. Ezek a környezeti változók a felhasználói szkript végrehajtásának folyamatán vannak beállítva.

alapértelmezett érték: None
environment
Kötelező

A Python-környezetet konfiguráló környezetdefiníció. Konfigurálható egy meglévő Python-környezet használatára, vagy egy ideiglenes környezet beállítására a kísérlethez. A környezetdefiníció felelős a szükséges alkalmazásfüggőségek, például a conda vagy a pip csomagok definiálásáért.

entry_script
Kötelező
str

Több csomóponton párhuzamosan futó felhasználói szkript. Ez helyi fájlelérési útként van megadva. Ha source_directory meg van adva, akkor entry_script egy relatív elérési út a könyvtárban. Ellenkező esetben bármely, a gépen elérhető elérési út lehet. A entry_script két függvényt kell tartalmaznia: init()ezt a függvényt kell használni a későbbi következtetések költséges vagy gyakori előkészítéséhez, például a modell deszerializálásához és globális objektumba való betöltéséhez. run(mini_batch): A párhuzamosítandó metódus. Minden híváshoz egy mini köteg tartozik. "mini_batch": A batch-következtetés meghívja a futtatási metódust, és egy listát vagy egy Pandas DataFrame-et ad át argumentumként a metódusnak. A min_batch minden bejegyzése fájlútvonal lesz, ha a bemenet FileDataset, a Pandas DataFrame, ha a bemenet táblázatos adatkészlet. A run() metódusnak pandas DataFrame-et vagy tömböt kell visszaadnia. A append_row output_action esetében ezek a visszaadott elemek hozzá lesznek fűzve a közös kimeneti fájlhoz. A summary_only esetében a rendszer figyelmen kívül hagyja az elemek tartalmát. Minden kimeneti művelet esetében minden visszaadott kimeneti elem a bemeneti elem egy sikeres következtetését jelzi a bemeneti minikötegben. Minden párhuzamos munkavégző folyamat egyszer meghívja az initet , majd végighalad a futtatási függvényen, amíg az összes miniköteg fel nem dolgozik.

error_threshold
Kötelező
int

A feldolgozás során figyelmen kívül kell hagyni a TabularDataset rekordhibák és a fájlhibák FileDataset számát. Ha a hibaszám meghaladja ezt az értéket, a feladat megszakad. A hibaküszöb a teljes bemenetre érvényes, nem pedig a run() metódusnak küldött egyes minikötegekre. A tartomány [-1, int.max]. A -1 azt jelzi, hogy a feldolgozás során figyelmen kívül hagyja az összes hibát.

output_action
Kötelező
str

A kimenet rendszerezésének menete. A jelenleg támogatott értékek a következők: "append_row" és "summary_only".

  1. "append_row" – A run() metódushívások által előállított összes érték egyetlen egyedi fájlba lesz összesítve parallel_run_step.txt néven, amely a kimeneti helyen jön létre.
  2. "summary_only" – A felhasználói szkriptnek magát a kimenetet kell tárolnia. Az egyes feldolgozott sikeres bemeneti elemek esetében továbbra is várható egy kimeneti sor. A rendszer ezt a kimenetet csak hibaküszöb kiszámítására használja (figyelmen kívül hagyva a sor tényleges értékét).
compute_target
Kötelező

A ParallelRunStep végrehajtásához használandó számítási cél. Ez a paraméter megadható számítási célobjektumként vagy egy számítási cél neveként a munkaterületen.

node_count
Kötelező
int

A ParallelRunStep futtatásához használt számítási cél csomópontjainak száma.

process_count_per_node
Kötelező
int

A bemeneti szkript párhuzamos futtatásához csomópontonkénti feldolgozói folyamatok száma. GPU-gép esetén az alapértelmezett érték 1. Cpu-gépek esetében az alapértelmezett érték a magok száma. A feldolgozói folyamat többször is meghívja run() a lekért mini köteg átadásával. A feladat process_count_per_node * node_countfeldolgozói folyamatainak teljes száma , amely a párhuzamos végrehajtás maximális számát run() határozza meg.

mini_batch_size
Kötelező
str vagy int

A FileDataset bemenet esetében ez a mező azoknak a fájloknak a számát adja meg, amelyet egy felhasználói szkript feldolgozhat egy run() hívásban. A TabularDataset bemenet esetében ez a mező a felhasználói szkript által egy run() hívásban feldolgozható adatok hozzávetőleges mérete. Példaértékek: 1024, 1024 KB, 10 MB és 1 GB. (Nem kötelező, az alapértelmezett érték a FileDataset 10 fájlja, a TabularDataset esetében pedig 1 MB.)

source_directory
Kötelező
str

A számítási célon való végrehajtáshoz használt és az azt támogató fájlokat tartalmazó entry_script mappa elérési útja.

description
Kötelező
str

A megjelenítési célokra használt batch-szolgáltatás leírásának megadása.

logging_level
Kötelező
str

A naplózási szint nevének sztringje, amely a naplózásban van definiálva. Lehetséges értékek: "FIGYELMEZTETÉS", "INFO" és "HIBAKERESÉS". (nem kötelező, az alapértelmezett érték az "INFO".)

run_invocation_timeout
Kötelező
int

Időtúllépés másodpercben a run() metódus minden egyes meghívásához. (nem kötelező, az alapértelmezett érték 60.)

run_max_try
Kötelező
int

A sikertelen vagy időtúllépési mini köteg maximális próbálkozásainak száma. A tartomány [1, int.max]. Az alapértelmezett érték 3. Az ennél nagyobb dequeue-számmal rendelkező mini kötegek nem lesznek újra feldolgozva, és közvetlenül törlődnek.

append_row_file_name
Kötelező
str

A kimeneti fájl neve, ha az output_action "append_row". (nem kötelező, az alapértelmezett érték a "parallel_run_step.txt")

allowed_failed_count
Kötelező
int

Azon sikertelen mini kötegek száma, amelyeket a feldolgozás során figyelmen kívül kell hagyni. Ha a sikertelenek száma meghaladja ezt az értéket, a feladat megszakad. Ez a küszöbérték a teljes bemenetre érvényes, nem pedig a run() metódusnak küldött egyéni minikötegre. A tartomány [-1, int.max]. A -1 azt jelzi, hogy a feldolgozás során figyelmen kívül hagyja az összes hibát. A mini kötegek feldolgozása az első feldolgozáskor meghiúsulhat, majd a második próbálkozáskor sikeres lehet. Az első és a második időpont közötti ellenőrzés sikertelennek számít. A második időpont utáni ellenőrzés nem számít sikertelennek. A –error_threshold, –allowed_failed_count és –allowed_failed_percent argumentum együtt használható. Ha egynél több van megadva, a feladat megszakad, ha az bármelyiket meghaladja.

allowed_failed_percent
Kötelező

A sikertelen mini kötegek százalékos aránya, amelyeket figyelmen kívül kell hagyni a feldolgozás során. Ha a sikertelen százalék meghaladja ezt az értéket, a feladat megszakad. Ez a küszöbérték a teljes bemenetre érvényes, nem pedig a run() metódusnak küldött egyéni minikötegre. A tartomány [0, 100]. A 100 vagy a 100.0 azt jelzi, hogy a feldolgozás során figyelmen kívül hagyja az összes hibát. Az ellenőrzés az összes mini köteg ütemezése után kezdődik. A –error_threshold, –allowed_failed_count és –allowed_failed_percent argumentum együtt használható. Ha egynél több van megadva, a feladat megszakad, ha az bármelyiket meghaladja.

partition_keys
Kötelező

Az adathalmaz mini kötegekre való particionálásához használt kulcsok. Ha meg van adva, az azonos kulccsal rendelkező adatok ugyanabba a mini kötegbe lesznek particionálva. Ha partition_keys és mini_batch_size is meg van adva, hiba keletkezik. A bemeneti adatkészlet particionálásához használt kulcsnak kell lennie az str elemek listájának. Ha azonban PipelineParameter értékre léptet elő, az alapértelmezett értékeknek a lista json dump str elemének kell lenniük, mivel a PipelineParameter egyelőre nem támogatja a listatípust. A bemenet(ek)nek particionált adatkészlet(ek)nek kell lenniük, és a partition_keys minden bemeneti adatkészlet kulcsainak részhalmazának kell lennie ahhoz, hogy ez működjön.

environment_variables
Kötelező

Környezeti változók neveinek és értékeinek szótára. Ezek a környezeti változók a felhasználói szkript végrehajtásának folyamatán vannak beállítva.

Megjegyzések

A ParallelRunConfig osztály az osztály konfigurációjának ParallelRunStep megadására szolgál. A ParallelRunConfig és a ParallelRunStep együtt használható nagy mennyiségű adat párhuzamos feldolgozására. Gyakori felhasználási eset például egy gépi tanulási modell betanítása vagy egy offline következtetés futtatása annak érdekében, hogy előrejelzéseket hozzon létre egy megfigyelésköteg kapcsán. A ParallelRunStep az adatokat kötegekre bontja szét, amelyeket aztán párhuzamosan dolgoz fel. A köteg mérete, a csomópontok száma és a párhuzamos feldolgozás felgyorsításához használható egyéb beállítható paraméterek a ParallelRunConfig osztálysal vezérelhetők. A ParallelRunStep bemenetként vagy FileDataset bemenetként TabularDataset is használható.

A ParallelRunStep és a ParallelRunConfig használata:

  • Hozzon létre egy ParallelRunConfig objektumot a kötegelt feldolgozás végrehajtásának megadásához, a kötegméretet szabályozó paraméterekkel, a számítási célonkénti csomópontok számával és az egyéni Python-szkriptre mutató hivatkozással.

  • Hozzon létre egy ParallelRunStep objektumot, amely a ParallelRunConfig objektumot használja, és meghatározza a lépés bemeneteit és kimeneteit.

  • Használja a konfigurált ParallelRunStep objektumot ugyanúgy Pipeline , mint más folyamatlépés-típusok esetében.

A ParallelRunStep és a ParallelRunConfig osztályok kötegelt következtetéshez való használatát a következő cikkek ismertetik:


   from azureml.pipeline.steps import ParallelRunStep, ParallelRunConfig

   parallel_run_config = ParallelRunConfig(
       source_directory=scripts_folder,
       entry_script=script_file,
       mini_batch_size="5",        # or partition_keys=["key1", "key2"], which is another way to partition the
                                   # input to mini-batches, refer to the parameter description for details
       error_threshold=10,         # Optional, allowed failed count on mini batch items
       allowed_failed_count=15,    # Optional, allowed failed count on mini batches
       allowed_failed_percent=10,  # Optional, allowed failed percent on mini batches
       run_max_try=3,
       output_action="append_row",
       environment=batch_env,
       compute_target=compute_target,
       node_count=2)

   parallelrun_step = ParallelRunStep(
       name="predict-digits-mnist",
       parallel_run_config=parallel_run_config,
       inputs=[ named_mnist_ds ],
       output=output_dir,
       arguments=[ "--extra_arg", "example_value" ],
       allow_reuse=True
   )

A példával kapcsolatos további információkért tekintse meg a jegyzetfüzetet https://aka.ms/batch-inference-notebooks.

Metódusok

load_yaml

Párhuzamos futtatás konfigurációs adatainak betöltése YAML-fájlból.

save_to_yaml

Párhuzamos futtatási konfigurációs adatok exportálása YAML-fájlba.

load_yaml

Párhuzamos futtatás konfigurációs adatainak betöltése YAML-fájlból.

static load_yaml(workspace, path)

Paraméterek

Name Description
workspace
Kötelező

A munkaterület, amelyből beolvashatja a konfigurációs adatokat.

path
Kötelező
str

A konfiguráció betöltésének elérési útja.

save_to_yaml

Párhuzamos futtatási konfigurációs adatok exportálása YAML-fájlba.

save_to_yaml(path)

Paraméterek

Name Description
path
Kötelező
str

A fájl mentési útvonala.