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._ParallelRunConfigBaseParallelRunConfig
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ő
|
Több csomóponton párhuzamosan futó felhasználói szkript. Ez helyi fájlútvonalként van megadva. Ha |
error_threshold
Kötelező
|
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ő
|
A kimenet rendszerezésének menete. A jelenlegi támogatott értékek a "append_row" és a "summary_only".
|
compute_target
Kötelező
|
AmlCompute vagy
str
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ő
|
A ParallelRunStep futtatásához használt számítási cél csomópontjainak száma. |
process_count_per_node
|
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 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
|
A számítási célon való végrehajtáshoz használt és azt támogató fájlokat tartalmazó Alapértelmezett érték: None
|
description
|
Leírás a megjelenítési célokra használt batch-szolgáltatásról. Alapértelmezett érték: None
|
logging_level
|
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
|
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
|
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
|
A kimeneti fájl neve, ha az Alapértelmezett érték: None
|
allowed_failed_count
|
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ő
|
Több csomóponton párhuzamosan futó felhasználói szkript. Ez helyi fájlelérési útként van megadva. Ha |
error_threshold
Kötelező
|
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ő
|
A kimenet rendszerezésének menete. A jelenleg támogatott értékek a következők: "append_row" és "summary_only".
|
compute_target
Kötelező
|
AmlCompute vagy
str
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ő
|
A ParallelRunStep futtatásához használt számítási cél csomópontjainak száma. |
process_count_per_node
Kötelező
|
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 |
mini_batch_size
Kötelező
|
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ő
|
A számítási célon való végrehajtáshoz használt és az azt támogató fájlokat tartalmazó |
description
Kötelező
|
A megjelenítési célokra használt batch-szolgáltatás leírásának megadása. |
logging_level
Kötelező
|
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ő
|
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ő
|
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ő
|
A kimeneti fájl neve, ha az |
allowed_failed_count
Kötelező
|
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:
Oktatóanyag: Azure Machine Learning-folyamat létrehozása kötegelt értékeléshez. Ez a cikk bemutatja, hogyan használhatja ezt a két osztályt aszinkron kötegelt értékeléshez egy folyamatban, illetve hogyan engedélyezhet egy REST-végpontot a folyamat futtatásához.
Batch-következtetések futtatása nagy mennyiségű adaton az Azure Machine Learninggel. Ez a cikk bemutatja, hogyan lehet nagy mennyiségű adatot aszinkron módon és párhuzamosan feldolgozni egy egyéni következtetési szkripttel és egy előre betanított képbesorolási modellel a MNIST-adathalmaz alapján.
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ő
|
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ő
|
A fájl mentési útvonala. |