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)
參數
名稱 | Description |
---|---|
name
必要
|
[必要]步驟的名稱。 |
hyperdrive_config
必要
|
[必要]定義 HyperDrive 執行的組態的 HyperDriveConfig。 |
estimator_entry_script_arguments
|
估算器專案腳本的命令列引數清單。 如果估算器的專案腳本不接受命令列引數,請將此參數值設定為空白清單。 預設值: None
|
inputs
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
輸入埠系結的清單。 預設值: None
|
outputs
|
輸出埠系結的清單 預設值: None
|
metrics_output
|
選擇性值,指定要將 HyperDrive 執行計量儲存為 JSON 檔案的位置。 預設值: None
|
allow_reuse
|
指出當使用相同的設定重新執行時,步驟是否應該重複使用先前的結果。 預設會啟用重複使用。 如果步驟內容 (腳本/相依性) ,以及輸入和參數保持不變,則會重複使用此步驟上一次執行的輸出。 重複使用步驟時,不會提交要計算的作業,則會立即讓任何後續步驟使用上一次執行的結果。 如果您使用 Azure Machine Learning 資料集做為輸入,則重複使用取決於資料集的定義是否已變更,而非基礎資料是否已變更。 預設值: True
|
version
|
選擇性版本標籤,表示模組功能變更。 預設值: None
|
name
必要
|
[必要]步驟的名稱。 |
hyperdrive_config
必要
|
[必要]定義 HyperDrive 執行的組態的 HyperDriveConfig。 |
estimator_entry_script_arguments
必要
|
估算器專案腳本的命令列引數清單。 如果估算器的專案腳本不接受命令列引數,請將此參數值設定為空白清單。 |
inputs
必要
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
輸入埠系結的清單。 |
outputs
必要
|
輸出埠系結的清單。 |
metrics_output
必要
|
選擇性值,指定要將 HyperDrive 執行計量儲存為 JSON 檔案的位置。 |
allow_reuse
必要
|
指出當使用相同的設定重新執行時,步驟是否應該重複使用先前的結果。 預設會啟用重複使用。 如果步驟內容 (腳本/相依性) ,以及輸入和參數保持不變,則會重複使用此步驟上一次執行的輸出。 重複使用步驟時,不會提交要計算的作業,則會立即讓任何後續步驟使用上一次執行的結果。 如果您使用 Azure Machine Learning 資料集做為輸入,則重複使用取決於資料集的定義是否已變更,而非基礎資料是否已變更。 |
version
必要
|
version |
備註
請注意,估算器物件中使用的專案腳本引數 (例如, 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)
參數
名稱 | Description |
---|---|
graph
必要
|
要加入節點的繪圖物件。 |
default_datastore
必要
|
預設資料存放區。 |
context
必要
|
<xref:azureml.pipeline.core._GraphContext>
圖形內容。 |
傳回
類型 | Description |
---|---|
已建立的節點。 |