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 | Description |
---|---|
name
Obligatorisk
|
[Krävs] Namnet på steget. |
hyperdrive_config
Obligatorisk
|
[Krävs] En HyperDriveConfig som definierar konfigurationen för HyperDrive-körningen. |
estimator_entry_script_arguments
|
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. Standardvärde: None
|
inputs
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
En lista över indataportbindningar. Standardvärde: None
|
outputs
|
En lista över portbindningar för utdata Standardvärde: None
|
metrics_output
|
Valfritt värde som anger platsen för att lagra HyperDrive-körningsmått som en JSON-fil. Standardvärde: None
|
allow_reuse
|
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. Standardvärde: True
|
version
|
En valfri versionstagg som anger en funktionsändring för modulen. Standardvärde: None
|
name
Obligatorisk
|
[Krävs] Namnet på steget. |
hyperdrive_config
Obligatorisk
|
[Krävs] En HyperDriveConfig som definierar konfigurationen för HyperDrive-körningen. |
estimator_entry_script_arguments
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. |
inputs
Obligatorisk
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
En lista över indataportbindningar. |
outputs
Obligatorisk
|
En lista över portbindningar för utdata. |
metrics_output
Obligatorisk
|
Ett valfritt värde som anger platsen för att lagra HyperDrive-körningsmått som en JSON-fil. |
allow_reuse
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
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
Name | Description |
---|---|
graph
Obligatorisk
|
Grafobjektet som noden ska läggas till i. |
default_datastore
Obligatorisk
|
Standarddatalagringen. |
context
Obligatorisk
|
<xref:azureml.pipeline.core._GraphContext>
Grafkontexten. |
Returer
Typ | Description |
---|---|
Den skapade noden. |