ParallelRunStep Třída
Vytvoří krok kanálu Azure Machine Learning, který asynchronně a paralelně zpracuje velké objemy dat.
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. Další odkazy najdete tady.
Vytvořte krok kanálu Azure ML, který asynchronně a paralelně zpracuje velké objemy dat.
Příklad použití ParallelRunStep najdete v odkazu https://aka.ms/batch-inference-notebooksna poznámkový blok .
- Dědičnost
-
azureml.pipeline.core._parallel_run_step_base._ParallelRunStepBaseParallelRunStep
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, musí se skládat pouze z malých písmen, číslic nebo pomlček, musí začínat písmenem a musí mít délku 3 až 32 znaků. |
parallel_run_config
Vyžadováno
|
A ParallelRunConfig objekt slouží k určení požadovaných vlastností spuštění. |
inputs
Vyžadováno
|
Seznam vstupních datových sad Všechny datové sady v seznamu by měly být stejného typu. Vstupní data budou rozdělena na oddíly pro paralelní zpracování. Každá datová sada v seznamu je rozdělena do minidávek zvlášť a každá z těchto minidávek se při paralelním zpracování zpracovává stejně. |
output
|
Vazbu výstupního portu můžete použít v dalších krocích kanálu. Default value: None
|
side_inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Seznam bočních vstupních referenčních dat. Vedlejší vstupy nebudou rozděleny do oddílů 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 opakovaně používat předchozí výsledky při spuštění se stejnými nastaveními nebo vstupy. Pokud je tato hodnota false, při provádění kanálu se pro tento krok vždy vygeneruje nové spuštění. Default value: True
|
name
Vyžadováno
|
Název kroku. Musí být jedinečné pro pracovní prostor, musí se skládat pouze z malých písmen, číslic nebo pomlček, musí začínat písmenem a musí mít délku 3 až 32 znaků. |
parallel_run_config
Vyžadováno
|
A ParallelRunConfig objekt slouží k určení požadovaných vlastností spuštění. |
inputs
Vyžadováno
|
Seznam vstupních datových sad Všechny datové sady v seznamu by měly být stejného typu. Vstupní data budou rozdělena na oddíly pro paralelní zpracování. Každá datová sada v seznamu je rozdělena do minidávek zvlášť a každá z těchto minidávek se při paralelním zpracování zpracovává stejně. |
output
Vyžadováno
|
Vazbu výstupního portu můžete použít v dalších krocích kanálu. |
side_inputs
Vyžadováno
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Seznam bočních vstupních referenčních dat. Vedlejší vstupy nebudou rozděleny do oddílů 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 opakovaně používat předchozí výsledky při spuštění se stejnými nastaveními nebo vstupy. Pokud je tato hodnota false, při provádění kanálu se pro tento krok vždy vygeneruje nové spuštění. |
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ší nastavitelné parametry pro zrychlení paralelního ParallelRunConfig zpracování lze řídit pomocí třídy . ParallelRunStep může fungovat se vstupem nebo TabularDatasetFileDataset .
Pokud chcete použít krok paralelního spuštění:
Vytvořte objekt, který ParallelRunConfig určuje, jak se má provádět dávkové zpracování, s parametry pro řízení velikosti dávky, počtu uzlů na cílový výpočetní objekt a odkazem na 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 v objektu Pipeline stejně 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 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á požadované parametry 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 porty pro sekvencování. Default value: True
|
allow_reuse
|
Pokud je hodnota true, bude modul k dispozici k opakovanému 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 |
---|---|
Modul def objekt. |
create_node
Vytvořte uzel pro PythonScriptStep 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á požadované parametry 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 Graph. |
default_datastore
Vyžadováno
|
Výchozí úložiště dat. |
context
Vyžadováno
|
<xref:azureml.pipeline.core._GraphContext>
Kontextu. |
Návraty
Typ | Description |
---|---|
Vytvořený uzel. |