Sdílet prostřednictvím


HyperDriveStep Třída

Vytvoří krok kanálu Azure ML pro spuštění hyperparametrů pro trénování modelu služby Machine Learning.

Příklad použití HyperDriveStep najdete v poznámkovém bloku https://aka.ms/pl-hyperdrive.

Vytvořte krok kanálu Azure ML pro spuštění hyperparametrového zařazení pro trénování modelu služby Machine Learning.

Dědičnost
HyperDriveStep

Konstruktor

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

Parametry

Name Description
name
Vyžadováno
str

[Povinné] Název kroku.

hyperdrive_config
Vyžadováno

[Povinné] A HyperDriveConfig, který definuje konfiguraci pro spuštění HyperDrive.

estimator_entry_script_arguments

Seznam argumentů příkazového řádku pro skript pro zadání odhadce. Pokud vstupní skript estimátoru nepřijímá argumenty příkazového řádku, nastavte tuto hodnotu parametru na prázdný seznam.

výchozí hodnota: None
inputs

Seznam vazeb vstupních portů

výchozí hodnota: None
outputs

Seznam výstupních vazeb portů

výchozí hodnota: None
metrics_output

Volitelná hodnota určující umístění pro ukládání metrik spuštění HyperDrive jako souboru JSON.

výchozí hodnota: None
allow_reuse

Určuje, jestli má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. Opakované použití je ve výchozím nastavení povolené. Pokud obsah kroku (skripty/závislosti) i vstupy a parametry zůstanou beze změny, výstup z předchozího spuštění tohoto kroku se znovu použije. Při opakovaném použití kroku se místo odeslání úlohy k výpočtu okamžitě zpřístupní výsledky z předchozího spuštění všem dalším krokům. Pokud jako vstupy použijete datové sady Azure Machine Learning, opakované použití závisí na tom, jestli se změnila definice datové sady, a ne na tom, jestli se změnila podkladová data.

výchozí hodnota: True
version
str

Volitelná značka verze, která označuje změnu funkcí modulu.

výchozí hodnota: None
name
Vyžadováno
str

[Povinné] Název kroku.

hyperdrive_config
Vyžadováno

[Povinné] A HyperDriveConfig, který definuje konfiguraci pro spuštění HyperDrive.

estimator_entry_script_arguments
Vyžadováno

Seznam argumentů příkazového řádku pro skript pro zadání odhadce. Pokud vstupní skript estimátoru nepřijímá argumenty příkazového řádku, nastavte tuto hodnotu parametru na prázdný seznam.

inputs
Vyžadováno

Seznam vazeb vstupních portů

outputs
Vyžadováno

Seznam výstupních vazeb portů.

metrics_output
Vyžadováno

Volitelná hodnota určující umístění pro ukládání metrik spuštění HyperDrivu jako souboru JSON.

allow_reuse
Vyžadováno

Určuje, jestli má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. Opakované použití je ve výchozím nastavení povolené. Pokud obsah kroku (skripty/závislosti) i vstupy a parametry zůstanou beze změny, výstup z předchozího spuštění tohoto kroku se znovu použije. Při opakovaném použití kroku se místo odeslání úlohy k výpočtu okamžitě zpřístupní výsledky z předchozího spuštění všem dalším krokům. Pokud jako vstupy použijete datové sady Azure Machine Learning, opakované použití závisí na tom, jestli se změnila definice datové sady, a ne na tom, jestli se změnila podkladová data.

version
Vyžadováno
str

verze

Poznámky

Všimněte si, že argumenty vstupního skriptu použitého v objektu estimátoru (např. objektu TensorFlow ) musí být zadány jako seznam pomocí parametru estimator_entry_script_arguments při vytváření instance HyperDriveStep. Parametr script_params estimátoru přijímá slovník. Parametr však estimator_entry_script_argument očekává argumenty jako seznam.

Inicializace HyperDriveStep zahrnuje zadání seznamu DataReference objektů pomocí parametru inputs . Ve službě Azure ML Pipelines může krok kanálu jako vstup převzít výstup jiného kroku nebo objekty DataReference. Proto při vytváření HyperDriveStep musí inputs být parametry a outputs explicitně nastaveny inputs , což přepíše parametr zadaný v objektu Estimator.

Osvědčeným postupem pro práci s Nástrojem HyperDriveStep je použít samostatnou složku pro skripty a všechny závislé soubory přidružené ke kroku a určit tuto složku jako objekt source_directorypro posouzení . Podívejte se například na source_directory parametr TensorFlow třídy. To má dvě výhody. Za prvé to pomůže zmenšit velikost snímku vytvořeného pro krok, protože snímek se vytvoří jenom to, co je pro krok potřeba. Za druhé, výstup kroku z předchozího spuštění se dá znovu použít, pokud nedojde k source_directory žádným změnám, které by aktivovaly opětovné nahrání snaphotu.

Následující příklad ukazuje, jak používat HyperDriveStep v kanálu Azure Machine Learning.


   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])

Úplná ukázka je k dispozici od https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-parameter-tuning-with-hyperdrive.ipynb

Metody

create_node

Vytvořte uzel z kroku HyperDrive a přidejte ho do daného grafu.

Tato metoda není určena k přímému použití. Když se vytvoří instance kanálu pomocí tohoto kroku, Azure ML automaticky předává požadované parametry prostřednictvím této metody, aby se tento krok mohl přidat do grafu kanálu, který představuje pracovní postup.

create_node

Vytvořte uzel z kroku HyperDrive a přidejte ho do daného grafu.

Tato metoda není určena k přímému použití. Když se vytvoří instance kanálu pomocí tohoto kroku, Azure ML automaticky předává požadované parametry prostřednictvím této metody, aby se tento krok mohl 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, do který se má uzel přidat.

default_datastore
Vyžadováno

Výchozí úložiště dat.

context
Vyžadováno
<xref:azureml.pipeline.core._GraphContext>

Kontext grafu.

Návraty

Typ Description

Vytvořený uzel.