HyperDriveStep Klass

Skapar ett Azure ML Pipeline-steg för att köra hyperparameter tunning för maskininlärningsmodellträning.

Ett exempel på hur du använder HyperDriveStep finns i notebook-filen https://aka.ms/pl-hyperdrive.

Skapa ett Azure ML Pipeline-steg för att köra hyperparameter tunning för maskininlärningsmodellträning.

Arv
HyperDriveStep

Konstruktor

HyperDriveStep(name, hyperdrive_config, estimator_entry_script_arguments=None, inputs=None, outputs=None, metrics_output=None, allow_reuse=True, version=None)

Parametrar

name
str
Obligatorisk

[Krävs] Namnet på steget.

hyperdrive_config
HyperDriveConfig
Obligatorisk

[Krävs] En HyperDriveConfig som definierar konfigurationen för HyperDrive-körningen.

estimator_entry_script_arguments
list
standardvärde: None

En lista över kommandoradsargument för estimator-postskriptet. Om Estimator-postskriptet inte accepterar kommandoradsargument anger du det här parametervärdet till en tom lista.

inputs
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
standardvärde: None

En lista över indataportbindningar.

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
standardvärde: None

En lista över portbindningar för utdata

metrics_output
Union[PipelineData, DataReference, OutputPortBinding]
standardvärde: None

Valfritt värde som anger platsen för att lagra HyperDrive-körningsmått som en JSON-fil.

allow_reuse
bool
standardvärde: True

Anger om steget ska återanvända tidigare resultat när det körs igen med samma inställningar. Återanvändning är aktiverat som standard. Om steginnehållet (skript/beroenden) samt indata och parametrar förblir oförändrade återanvänds utdata från föregående körning av det här steget. När du återanvänder steget, i stället för att skicka jobbet för beräkning, görs resultaten från den föregående körningen omedelbart tillgängliga för efterföljande steg. Om du använder Azure Machine Learning-datauppsättningar som indata bestäms återanvändningen av om datauppsättningens definition har ändrats, inte av om underliggande data har ändrats.

version
str
standardvärde: None

En valfri versionstagg som anger en funktionsändring för modulen.

name
str
Obligatorisk

[Krävs] Namnet på steget.

hyperdrive_config
HyperDriveConfig
Obligatorisk

[Krävs] En HyperDriveConfig som definierar konfigurationen för HyperDrive-körningen.

estimator_entry_script_arguments
list
Obligatorisk

En lista över kommandoradsargument för estimator-postskriptet. Om Estimator-postskriptet inte accepterar kommandoradsargument anger du det här parametervärdet till en tom lista.

outputs
list[Union[PipelineData, PipelineOutputAbstractDataset, OutputPortBinding]]
Obligatorisk

En lista över portbindningar för utdata.

metrics_output
Union[PipelineData, DataReference, OutputPortBinding]
Obligatorisk

Ett valfritt värde som anger platsen för att lagra HyperDrive-körningsmått som en JSON-fil.

allow_reuse
bool
Obligatorisk

Anger om steget ska återanvända tidigare resultat när det körs igen med samma inställningar. Återanvändning är aktiverat som standard. Om steginnehållet (skript/beroenden) samt indata och parametrar förblir oförändrade återanvänds utdata från föregående körning av det här steget. När du återanvänder steget, i stället för att skicka jobbet för beräkning, görs resultaten från den föregående körningen omedelbart tillgängliga för efterföljande steg. Om du använder Azure Machine Learning-datauppsättningar som indata bestäms återanvändningen av om datauppsättningens definition har ändrats, inte av om underliggande data har ändrats.

version
str
Obligatorisk

version

Kommentarer

Observera att argumenten till postskriptet som används i beräkningsobjektet (t.ex. TensorFlow objektet) måste anges som lista med hjälp av parametern estimator_entry_script_arguments när du instansierar ett HyperDriveStep. Parametern script_params estimator accepterar en ordlista. Parametern förväntar sig dock estimator_entry_script_argument argument som en lista.

HyperDriveStep-initieringen omfattar att ange en lista över DataReference objekt med parametern inputs . I Azure ML Pipelines kan ett pipelinesteg ta ett annat stegs utdata eller DataReference-objekt som indata. När du skapar en HyperDriveStep måste parametrarna inputs och outputs därför anges explicit, vilket åsidosätter inputs parametern som anges i Estimator-objektet.

Det bästa sättet att arbeta med HyperDriveStep är att använda en separat mapp för skript och beroende filer som är associerade med steget och ange den mappen som beräkningsobjektets source_directory. Se till exempel parametern source_directory för TensorFlow klassen. Att göra det har två fördelar. Först hjälper det till att minska storleken på ögonblicksbilden som skapats för steget eftersom endast det som behövs för steget ögonblicksbilderas. För det andra kan stegets utdata från en tidigare körning återanvändas om det inte finns några ändringar i source_directory som skulle utlösa en återuppladdning av snaphoten.

I följande exempel visas hur du använder HyperDriveStep i en Azure Machine Learning-pipeline.


   metrics_output_name = 'metrics_output'
   metrics_data = PipelineData(name='metrics_data',
                               datastore=datastore,
                               pipeline_output_name=metrics_output_name,
                               training_output=TrainingOutput("Metrics"))

   model_output_name = 'model_output'
   saved_model = PipelineData(name='saved_model',
                               datastore=datastore,
                               pipeline_output_name=model_output_name,
                               training_output=TrainingOutput("Model",
                                                              model_file="outputs/model/saved_model.pb"))

   hd_step_name='hd_step01'
   hd_step = HyperDriveStep(
       name=hd_step_name,
       hyperdrive_config=hd_config,
       inputs=[data_folder],
       outputs=[metrics_data, saved_model])

Fullständigt exempel är tillgängligt från https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-parameter-tuning-with-hyperdrive.ipynb

Metoder

create_node

Skapa en nod från HyperDrive-steget och lägg till i den angivna grafen.

Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med det här steget skickar Azure ML automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet.

create_node

Skapa en nod från HyperDrive-steget och lägg till i den angivna grafen.

Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med det här steget skickar Azure ML automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet.

create_node(graph, default_datastore, context)

Parametrar

graph
Graph
Obligatorisk

Grafobjektet som noden ska läggas till i.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Obligatorisk

Standarddatalagringen.

context
<xref:azureml.pipeline.core._GraphContext>
Obligatorisk

Grafkontexten.

Returer

Den skapade noden.

Returtyp