HyperDriveStep 類別
建立 Azure ML 管線步驟,以針對 Machine Learning 模型定型執行超參數微調。
如需使用 HyperDriveStep 的範例,請參閱筆記本 https://aka.ms/pl-hyperdrive 。
建立 Azure ML 管線步驟,以針對 Machine Learning 模型定型執行超參數微調。
- 繼承
-
HyperDriveStep
建構函式
HyperDriveStep(name, hyperdrive_config, estimator_entry_script_arguments=None, inputs=None, outputs=None, metrics_output=None, allow_reuse=True, version=None)
參數
- inputs
- list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
輸入埠系結的清單。
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
輸出埠系結的清單
- metrics_output
- Union[PipelineData, DataReference, OutputPortBinding]
選擇性值,指定要將 HyperDrive 執行計量儲存為 JSON 檔案的位置。
- allow_reuse
- bool
指出當使用相同的設定重新執行時,步驟是否應該重複使用先前的結果。 預設會啟用重複使用。 如果步驟內容 (腳本/相依性) ,以及輸入和參數保持不變,則會重複使用此步驟上一次執行的輸出。 重複使用步驟時,不會提交要計算的作業,則會立即讓任何後續步驟使用上一次執行的結果。 如果您使用 Azure Machine Learning 資料集做為輸入,則重複使用取決於資料集的定義是否已變更,而非基礎資料是否已變更。
- inputs
- list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
輸入埠系結的清單。
- metrics_output
- Union[PipelineData, DataReference, OutputPortBinding]
選擇性值,指定要將 HyperDrive 執行計量儲存為 JSON 檔案的位置。
- allow_reuse
- bool
指出當使用相同的設定重新執行時,步驟是否應該重複使用先前的結果。 預設會啟用重複使用。 如果步驟內容 (腳本/相依性) ,以及輸入和參數保持不變,則會重複使用此步驟上一次執行的輸出。 重複使用步驟時,不會提交要計算的作業,則會立即讓任何後續步驟使用上一次執行的結果。 如果您使用 Azure Machine Learning 資料集做為輸入,則重複使用取決於資料集的定義是否已變更,而非基礎資料是否已變更。
備註
請注意,估算器物件中使用的專案腳本引數 (例如, TensorFlow 在具現化 HyperDriveStep 時,必須使用 參數指定 estimator_entry_script_arguments
物件) 清單。 估算器參數 script_params
接受字典。 不過, estimator_entry_script_argument
參數預期引數為清單。
HyperDriveStep 初始化牽涉到使用 參數指定物件 inputs
清單 DataReference 。 在 Azure ML Pipelines 中,管線步驟可以採取另一個步驟的輸出或 DataReference 物件作為輸入。 因此,建立 HyperDriveStep 時, inputs
必須明確設定 和 outputs
參數,以覆寫 inputs
Estimator 物件中指定的參數。
使用 HyperDriveStep 的最佳作法是針對腳本和與步驟相關聯的任何相依檔案使用不同的資料夾,並將該資料夾指定為估算器物件的 source_directory
。 例如,請參閱 source_directory
類別的參數 TensorFlow 。 這麼做有兩個優點。 首先,它有助於減少為步驟建立的快照集大小,因為只會快照集步驟所需的專案。 其次,如果沒有任何變更 source_directory
會觸發 snaphot 重新上傳的 ,則可以重複使用先前執行的步驟輸出。
下列範例示範如何在 Azure Machine Learning 管線中使用 HyperDriveStep。
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])
方法
create_node |
從 HyperDrive 步驟建立節點,並將 新增至指定的圖形。 這個方法不適合直接使用。 使用此步驟具現化管線時,Azure ML 會自動傳遞透過此方法所需的參數,以便將步驟新增至代表工作流程的管線圖形。 |
create_node
從 HyperDrive 步驟建立節點,並將 新增至指定的圖形。
這個方法不適合直接使用。 使用此步驟具現化管線時,Azure ML 會自動傳遞透過此方法所需的參數,以便將步驟新增至代表工作流程的管線圖形。
create_node(graph, default_datastore, context)
參數
- context
- <xref:azureml.pipeline.core._GraphContext>
圖形內容。
傳回
已建立的節點。
傳回類型
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應