次の方法で共有


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
必須
str

[必須] ステップの名前。

hyperdrive_config
必須

[必須] HyperDrive 実行の構成を定義する HyperDriveConfig。

estimator_entry_script_arguments

推定器エントリ スクリプトのコマンド ライン引数のリスト。 推定器のエントリ スクリプトがコマンド ライン引数を受け入れない場合は、このパラメーター値を空のリストに設定します。

規定値: None
inputs

入力ポート バインドのリスト。

規定値: None
outputs

出力ポート バインドの一覧

規定値: None
metrics_output

HyperDrive 実行メトリックを JSON ファイルとして格納する場所を指定する省略可能な値。

規定値: None
allow_reuse

同じ設定で再実行されたときに、ステップで前の結果を再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップの内容 (スクリプトや依存関係) だけでなく、入力とパラメーターも変更されていない場合は、このステップの前の実行からの出力が再利用されます。 ステップを再利用する場合、計算するジョブを送信する代わりに、前の実行の結果を後続のステップですぐに利用できるようにします。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。

規定値: True
version
str

モジュールの機能変更を示すオプションのバージョン タグ。

規定値: None
name
必須
str

[必須] ステップの名前。

hyperdrive_config
必須

[必須] HyperDrive 実行の構成を定義する HyperDriveConfig。

estimator_entry_script_arguments
必須

推定器エントリ スクリプトのコマンド ライン引数のリスト。 推定器のエントリ スクリプトがコマンド ライン引数を受け入れない場合は、このパラメーター値を空のリストに設定します。

inputs
必須

入力ポート バインドのリスト。

outputs
必須

出力ポート バインドのリスト。

metrics_output
必須

HyperDrive 実行メトリックを JSON ファイルとして格納する場所を指定する省略可能な値。

allow_reuse
必須

同じ設定で再実行されたときに、ステップで前の結果を再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップの内容 (スクリプトや依存関係) だけでなく、入力とパラメーターも変更されていない場合は、このステップの前の実行からの出力が再利用されます。 ステップを再利用する場合、計算するジョブを送信する代わりに、前の実行の結果を後続のステップですぐに利用できるようにします。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。

version
必須
str

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])

完全なサンプルは、https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-parameter-tuning-with-hyperdrive.ipynb から入手できます。

メソッド

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>

グラフ コンテキスト。

戻り値

説明

作成されたノード。