ParallelRunStep Třída
Vytvoří krok kanálu služby Azure Machine Learning pro asynchronní zpracování velkých objemů dat asynchronně a paralelně.
Příklad použití ParallelRunStep najdete v poznámkovém bloku https://aka.ms/batch-inference-notebooks.
Průvodce odstraňováním potíží najdete v tématu https://aka.ms/prstsg. Najdete tam další odkazy.
Vytvořte krok kanálu Azure ML pro asynchronní a paralelní zpracování velkých objemů dat.
Příklad použití ParallelRunStep najdete v odkazu https://aka.ms/batch-inference-notebookspoznámkového bloku .
Konstruktor
ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)
Parametry
| Name | Description |
|---|---|
|
name
Vyžadováno
|
Název kroku Musí být jedinečný pro pracovní prostor, který se skládá jenom z malých písmen, číslic nebo pomlček, začíná písmenem a musí mít délku 3 až 32 znaků. |
|
parallel_run_config
Vyžadováno
|
A ParallelRunConfig object used to determine required run properties. |
|
inputs
Vyžadováno
|
Seznam vstupních datových sad Všechny datové sady v seznamu by měly mít stejný typ. Vstupní data budou rozdělena na oddíly pro paralelní zpracování. Každá datová sada v seznamu je rozdělená do minidávek samostatně a každá z minidávek se zpracovává stejně jako při paralelním zpracování. |
|
output
|
Výstupní vazbu portu je možné použít v pozdějších krocích kanálu. Default value: None
|
|
side_inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Seznam vstupních referenčních dat na straně Vedlejší vstupy nebudou rozděleny jako vstupní data. Default value: None
|
|
arguments
|
Seznam argumentů příkazového řádku, které se mají předat entry_script Pythonu Default value: None
|
|
allow_reuse
|
Určuje, jestli má krok při spuštění použít předchozí výsledky se stejnými nastaveními a vstupy. Pokud je tato hodnota false, při provádění kanálu se vždy vygeneruje nové spuštění pro tento krok. Default value: True
|
|
name
Vyžadováno
|
Název kroku Musí být jedinečný pro pracovní prostor, který se skládá jenom z malých písmen, číslic nebo pomlček, začíná písmenem a musí mít délku 3 až 32 znaků. |
|
parallel_run_config
Vyžadováno
|
A ParallelRunConfig object used to determine required run properties. |
|
inputs
Vyžadováno
|
Seznam vstupních datových sad Všechny datové sady v seznamu by měly mít stejný typ. Vstupní data budou rozdělena na oddíly pro paralelní zpracování. Každá datová sada v seznamu je rozdělená do minidávek samostatně a každá z minidávek se zpracovává stejně jako při paralelním zpracování. |
|
output
Vyžadováno
|
Výstupní vazbu portu je možné použít v pozdějších krocích kanálu. |
|
side_inputs
Vyžadováno
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Seznam vstupních referenčních dat na straně Vedlejší vstupy nebudou rozděleny jako vstupní data. |
|
arguments
Vyžadováno
|
Seznam argumentů příkazového řádku, které se mají předat entry_script Pythonu |
|
allow_reuse
Vyžadováno
|
Určuje, jestli má krok při spuštění použít předchozí výsledky se stejnými nastaveními a vstupy. Pokud je tato hodnota false, při provádění kanálu se vždy vygeneruje nové spuštění pro tento krok. |
Poznámky
Krok paralelního spuštění je možné použít k paralelnímu zpracování velkého objemu dat. Mezi běžné případy použití patří trénování modelu ML nebo spuštění offline odvozování za účelem vygenerování predikcí na základě série pozorování. Krok paralelního spuštění funguje tak, že rozdělí data do dávek, které se zpracují paralelně. Počet uzlů velikosti dávky a další vyladěné parametry pro urychlení paralelního zpracování je možné řídit pomocí ParallelRunConfig třídy. ParallelRunStep může pracovat s vstupem TabularDataset nebo FileDataset jako vstup.
Pokud chcete použít krok paralelního spuštění:
Vytvořte objekt, ParallelRunConfig který určuje, jak se provádí dávkové zpracování, s parametry pro řízení velikosti dávky, počtu uzlů na cílový výpočetní objekt a odkazem na váš vlastní skript Pythonu.
Vytvořte objekt ParallelRunStep, který využívá objekt ParallelRunConfig, a definujte vstupy a výstupy tohoto kroku.
Použijte nakonfigurovaný objekt ParallelRunStep stejně Pipeline jako u jiných typů kroků kanálu.
Příklady práce s třídami ParallelRunStep a ParallelRunConfig pro dávkové odvozování jsou popsány v následujících článcích:
Kurz: Vytvoření kanálu služby Azure Machine Learning pro dávkové bodování. Tento článek popisuje, jak s využitím těchto dvou tříd zajistit v kanálu asynchronní dávkové bodování a umožnit spuštění kanálu na koncovém bodu REST.
Spouštění dávkového odvozování pro velké množství dat pomocí služby Azure Machine Learning. Tento článek popisuje, jak asynchronně a paralelně zpracovávat velké množství dat s využitím vlastního skriptu pro odvozování a předem natrénovaného modelu klasifikace obrázků založeného na datové sadě MNIST.
from azureml.pipeline.steps import ParallelRunStep, ParallelRunConfig
parallel_run_config = ParallelRunConfig(
source_directory=scripts_folder,
entry_script=script_file,
mini_batch_size="5",
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
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
)
Další informace o tomto příkladu najdete v poznámkovém bloku https://aka.ms/batch-inference-notebooks.
Metody
| create_module_def |
Vytvořte objekt definice modulu, který popisuje krok. Tato metoda není určena k přímému použití. |
| create_node |
Vytvořte uzel pro PythonScriptStep zadaný graf a přidejte ho do zadaného grafu. Tato metoda není určena k přímému použití. Když se vytvoří instance kanálu pomocí ParallelRunStep, Azure Machine Learning automaticky předá parametry požadované touto metodou, aby bylo možné tento krok přidat do grafu kanálu, který představuje pracovní postup. |
create_module_def
Vytvořte objekt definice modulu, který popisuje krok.
Tato metoda není určena k přímému použití.
create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, arguments=None)
Parametry
| Name | Description |
|---|---|
|
execution_type
Vyžadováno
|
Typ spuštění modulu. |
|
input_bindings
Vyžadováno
|
Vstupní vazby kroku. |
|
output_bindings
Vyžadováno
|
Výstupní vazby kroku. |
|
param_defs
|
Definice parametrů kroku. Default value: None
|
|
create_sequencing_ports
|
Pokud je hodnota true, vytvoří se pro modul sekvencování portů. Default value: True
|
|
allow_reuse
|
Pokud je hodnota true, bude modul k dispozici pro opakované použití v budoucích kanálech. Default value: True
|
|
version
|
Verze modulu. Default value: None
|
|
arguments
|
Seznam argumentů s poznámkami, který se má použít při volání tohoto modulu. Default value: None
|
Návraty
| Typ | Description |
|---|---|
|
Objekt def modulu. |
create_node
Vytvořte uzel pro PythonScriptStep zadaný graf a přidejte ho do zadaného grafu.
Tato metoda není určena k přímému použití. Když se vytvoří instance kanálu pomocí ParallelRunStep, Azure Machine Learning automaticky předá parametry požadované touto metodou, aby bylo možné tento krok přidat do grafu kanálu, který představuje pracovní postup.
create_node(graph, default_datastore, context)
Parametry
| Name | Description |
|---|---|
|
graph
Vyžadováno
|
Objekt grafu. |
|
default_datastore
Vyžadováno
|
Výchozí úložiště dat |
|
context
Vyžadováno
|
<xref:azureml.pipeline.core._GraphContext>
Kontext. |
Návraty
| Typ | Description |
|---|---|
|
Vytvořený uzel. |