Dela via


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
str

[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 beräkningsinmatningsskriptet. Om beräkningsobjektets inmatningsskript inte accepterar kommandoradsargument anger du parametervärdet till en tom lista.

Standardvärde: None
inputs

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 lagring av 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 görs resultaten från den föregående körningen omedelbart tillgängliga för efterföljande steg i stället för att skicka jobbet för beräkning. Om du använder Azure Machine Learning-datauppsättningar som indata bestäms återanvändning av om datauppsättningens definition har ändrats, inte av om underliggande data har ändrats.

Standardvärde: True
version
str

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

Standardvärde: None
name
Obligatorisk
str

[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 beräkningsinmatningsskriptet. Om beräkningsobjektets inmatningsskript inte accepterar kommandoradsargument anger du parametervärdet till en tom lista.

inputs
Obligatorisk

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 lagring av 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 görs resultaten från den föregående körningen omedelbart tillgängliga för efterföljande steg i stället för att skicka jobbet för beräkning. Om du använder Azure Machine Learning-datauppsättningar som indata bestäms återanvändning av om datauppsättningens definition har ändrats, inte av om underliggande data har ändrats.

version
Obligatorisk
str

version

Kommentarer

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

HyperDriveStep-initieringen omfattar att ange en lista med 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 ett 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 eventuella 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ör det första 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 snaphot.

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 Steget HyperDrive 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 Steget HyperDrive 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

Standarddatalager.

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

Grafkontexten.

Returer

Typ Description

Den skapade noden.