HyperDriveStep クラス
Azure ML パイプライン ステップを作成して、Machine Learning モデル トレーニングのためのハイパーパラメーター チューニングを実行します。
HyperDriveStep の使用例については、ノートブック https://aka.ms/pl-hyperdrive を参照してください。
Azure ML Pipeline ステップを作成して、Machine Learning モデル トレーニング用のハイパーパラメーター チューニングを実行します。
- 継承
-
HyperDriveStep
コンストラクター
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
|
推定器エントリ スクリプトのコマンド ライン引数のリスト。 推定器のエントリ スクリプトがコマンド ライン引数を受け入れない場合は、このパラメーター値を空のリストに設定します。 規定値: 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
パラメーターを使用して list として指定する必要があることに注意してください。 推定器パラメーター script_params
はディクショナリを受け取ります。 ただし、estimator_entry_script_argument
パラメーターの引数はリストである必要があります。
HyperDriveStep の初期化では、inputs
パラメーターを使用して DataReference オブジェクトのリストを指定する必要があります。 Azure ML パイプラインでは、パイプライン ステップは、別のステップの出力または DataReference オブジェクトを入力として受け取ることができます。 したがって、HyperDriveStep を作成するときは、inputs
および outputs
パラメーターを明示的に設定する必要があります。これにより、Estimator オブジェクトで指定された inputs
パラメーターがオーバーライドされます。
HyperDriveStep を使用する場合のベスト プラクティスは、スクリプトおよびステップに関連付けられている依存ファイル用として別のフォルダーを使用し、推定器オブジェクトの source_directory
としてそのフォルダーを指定することです。 たとえば、TensorFlow クラスの source_directory
パラメーターを参照してください。 これには 2 つの利点があります。 まず、ステップに必要なものだけがスナップショットされるため、ステップに対して作成されるスナップショットのサイズを小さくするのに役立ちます。 次に、スナップショットの再アップロードをトリガーする 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>
グラフ コンテキスト。 |
戻り値
型 | 説明 |
---|---|
作成されたノード。 |