HyperDriveStep Třída
Vytvoří krok kanálu Azure ML pro spuštění hyperparametrů pro trénování modelu Machine Learning.
Příklad použití funkce 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 Machine Learning.
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í HyperDrivu. |
|
estimator_entry_script_arguments
|
Seznam argumentů příkazového řádku pro vstupní skript 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 vstupních vazeb portů Default value: None
|
|
outputs
|
Seznam vazeb výstupních 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 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) a 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 opětovném použití kroku místo odeslání úlohy k výpočtu se výsledky předchozího spuštění okamžitě zpřístupní pro všechny následné kroky. Pokud jako vstupy používáte datové sady Azure Machine Learning, určuje se opakované použití podle toho, jestli se definice datové sady změnila, a ne tím, jestli se podkladová data změnila. 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í HyperDrivu. |
|
estimator_entry_script_arguments
Vyžadováno
|
Seznam argumentů příkazového řádku pro vstupní skript 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 vstupních vazeb 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 uložení 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) a 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 opětovném použití kroku místo odeslání úlohy k výpočtu se výsledky předchozího spuštění okamžitě zpřístupní pro všechny následné kroky. Pokud jako vstupy používáte datové sady Azure Machine Learning, určuje se opakované použití podle toho, jestli se definice datové sady změnila, a ne tím, jestli se podkladová data změnila. |
|
version
Vyžadováno
|
verze |
Poznámky
Všimněte si, že argumenty vstupního skriptu použitého v objektu odhadce (např TensorFlow . objekt) 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.
estimator_entry_script_argument Parametr však očekává argumenty jako seznam.
Inicializace HyperDriveStep zahrnuje zadání seznamu DataReference objektů s parametrem inputs . V Azure ML Pipelines může krok kanálu jako vstup provést výstup jiného kroku nebo objekty DataReference. Proto při vytváření HyperDriveStep musí inputs být parametry nastaveny outputs explicitně, což přepíše inputs parametr zadaný v objektu Estimator.
Osvědčeným postupem pro práci s HyperDriveStep je použít samostatnou složku pro skripty a všechny závislé soubory přidružené k kroku a určit tuto složku jako objekt source_directoryodhadce . Podívejte se například na source_directory parametr TensorFlow třídy. To má dvě výhody. Za prvé pomáhá zmenšit velikost snímku vytvořeného pro tento krok, protože se snímek vyžaduje jenom v případě, že se tento krok potřebuje. Za druhé, výstup kroku z předchozího spuštění lze znovu použít, pokud nedojde k source_directory žádným změnám, které by aktivovaly opětovné nahrání modulu snaphot.
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 HyperDrivu 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á parametry požadované touto metodou, aby se tento krok mohl přidat do grafu kanálu, který představuje pracovní postup. |
create_node
Vytvořte uzel z kroku HyperDrivu 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á parametry požadované touto metodou, 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 pro přidání uzlu. |
|
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. |