HyperDriveStep クラス
Machine Learning モデル トレーニング用のハイパーパラメーター チューニングを実行する Azure ML パイプライン ステップを作成します。
HyperDriveStep の使用例については、ノートブックの https://aka.ms/pl-hyperdriveを参照してください。
Machine Learning モデル トレーニング用のハイパーパラメーターチューニングを実行する Azure ML パイプライン ステップを作成します。
コンストラクター
HyperDriveStep(name, hyperdrive_config, estimator_entry_script_arguments=None, inputs=None, outputs=None, metrics_output=None, allow_reuse=True, version=None)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
[必須]ステップの名前。 |
hyperdrive_config
必須
|
[必須]HyperDrive 実行の構成を定義する HyperDriveConfig。 |
estimator_entry_script_arguments
|
エスティメーター エントリ スクリプトのコマンド ライン引数の一覧。 Estimator のエントリ スクリプトがコマンドライン引数を受け入れない場合は、このパラメーター値を空のリストに設定します。 規定値: 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
必須
|
エスティメーター エントリ スクリプトのコマンド ライン引数の一覧。 Estimator のエントリ スクリプトがコマンドライン引数を受け入れない場合は、このパラメーター値を空のリストに設定します。 |
inputs
必須
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
入力ポート バインドの一覧。 |
outputs
必須
|
出力ポート バインドの一覧。 |
metrics_output
必須
|
HyperDrive 実行メトリックを JSON ファイルとして格納する場所を指定する省略可能な値。 |
allow_reuse
必須
|
同じ設定で再実行するときに、前の結果をステップで再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップの内容 (スクリプト/依存関係) と入力とパラメーターが変更されていない場合は、この手順の前の実行からの出力が再利用されます。 ステップを再利用すると、ジョブをコンピューティングに送信する代わりに、前の実行の結果が後続のステップですぐに使用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。 |
version
必須
|
バージョン |
注釈
HyperDriveStep をインスタンス化する場合、エスティメーター オブジェクト (TensorFlow オブジェクトなど) で使用されるエントリ スクリプトの引数は、 パラメーターを使用してestimator_entry_script_arguments
として指定する必要があることに注意してください。 estimator パラメーター script_params
ディクショナリを受け入れます。 ただし、 estimator_entry_script_argument
パラメーターは引数をリストとして受け取ります。
HyperDriveStep の初期化には、DataReference パラメーターを使用してinputs
オブジェクトの一覧を指定する必要があります。 Azure ML Pipelines では、パイプライン ステップは別のステップの出力または DataReference オブジェクトを入力として実行できます。 そのため、HyperDriveStep を作成するときは、 inputs
パラメーターと outputs
パラメーターを明示的に設定する必要があります。このパラメーターは、Estimator オブジェクトで指定 inputs
パラメーターをオーバーライドします。
HyperDriveStep を使用する場合のベスト プラクティスは、スクリプトとステップに関連付けられている依存ファイルに別のフォルダーを使用し、そのフォルダーを推定オブジェクトの source_directory
として指定することです。 たとえば、source_directory
クラスの TensorFlow パラメーターを参照してください。 その場合、2 つの利点があります。 1 つ目は、ステップに必要なスナップショットのみがスナップショットされるため、ステップ用に作成されるスナップショットのサイズを小さくするのに役立ちます。 次に、snaphot の再アップロードをトリガーする source_directory
に変更がない場合は、前の実行からのステップの出力を再利用できます。
次の例は、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)
パラメーター
名前 | 説明 |
---|---|
graph
必須
|
ノードを追加するグラフ オブジェクト。 |
default_datastore
必須
|
既定のデータストア。 |
context
必須
|
<xref:azureml.pipeline.core._GraphContext>
グラフ コンテキスト。 |
戻り値
型 | 説明 |
---|---|
作成されたノード。 |