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í kroku HyperDriveStep najdete v poznámkovém bloku https://aka.ms/pl-hyperdrive.
Vytvořte krok kanálu Azure ML pro spuštění hyperparametrů 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
|
[Povinné] Název kroku. |
hyperdrive_config
Vyžadováno
|
[Povinné] HyperDriveConfig, který definuje konfiguraci pro spuštění HyperDrive. |
estimator_entry_script_arguments
|
Seznam argumentů příkazového řádku pro skript pro zadání estimátoru. Pokud vstupní skript estimátoru nepřijímá argumenty příkazového řádku, nastavte tuto hodnotu parametru na prázdný seznam. Default value: None
|
inputs
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Seznam vazeb vstupních portů. Default value: None
|
outputs
|
Seznam výstupních vazeb portů Default value: None
|
metrics_output
|
Volitelná hodnota určující umístění pro uložení metrik spuštění HyperDrivu jako souboru JSON. Default value: None
|
allow_reuse
|
Určuje, jestli má krok při opětovném spuštění se stejným nastavením znovu použít předchozí výsledky. Opakované použití je ve výchozím nastavení povolené. Pokud obsah kroku (skripty/závislosti) a vstupy a parametry zůstanou beze změny, znovu se použije výstup z předchozího spuštění tohoto kroku. Při opakovaném použití kroku místo odeslání úlohy k výpočtu se výsledky z předchozího spuštění okamžitě zpřístupní 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, nikoli na základě toho, jestli se změnila podkladová data. Default value: True
|
version
|
Volitelná značka verze, která označuje změnu funkčnosti modulu. Default value: None
|
name
Vyžadováno
|
[Povinné] Název kroku. |
hyperdrive_config
Vyžadováno
|
[Povinné] 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í estimátoru. 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
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
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 při opětovném spuštění se stejným nastavením znovu použít předchozí výsledky. Opakované použití je ve výchozím nastavení povolené. Pokud obsah kroku (skripty/závislosti) a vstupy a parametry zůstanou beze změny, znovu se použije výstup z předchozího spuštění tohoto kroku. Při opakovaném použití kroku místo odeslání úlohy k výpočtu se výsledky z předchozího spuštění okamžitě zpřístupní 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, nikoli na základě toho, jestli se změnila podkladová data. |
version
Vyžadováno
|
verze |
Poznámky
Všimněte si, že argumenty vstupního skriptu použitého v objektu TensorFlow estimátoru (např. objekt) musí být při vytváření instance HyperDriveStep zadány jako seznam pomocí parametru estimator_entry_script_arguments
. 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
. V 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
nastaveny explicitně, což přepisuje inputs
parametr zadaný v objektu Estimator.
Osvědčeným postupem pro práci s krokem HyperDriveStep je použít samostatnou složku pro skripty a všechny závislé soubory přidružené ke kroku a zadat tuto složku jako objekt source_directory
nástroje pro posouzení. Viz například source_directory
parametr TensorFlow třídy . To má dvě výhody. Za prvé to pomáhá zmenšit velikost snímku vytvořeného pro krok, protože se vytvoří jenom to, co je pro krok potřeba. Za druhé je možné znovu použít výstup kroku z předchozího spuštění, pokud nedošlo k source_directory
žádným změnám, které by aktivovaly opětovné nahrání snímku.
Následující příklad ukazuje, jak použít HyperDriveStep v kanálu Služby 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 na webu 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 v tomto kroku vytvoří instance kanálu, Azure ML automaticky předá 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 v tomto kroku vytvoří instance kanálu, Azure ML automaticky předá 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ý chcete přidat uzel. |
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. |