OutputPortBinding クラス
パイプライン ステップの名前付き出力を定義します。
OutputPortBinding を使用して、ステップによって生成されるデータの型と、データの生成方法を指定できます。 InputPortBinding と共に使用して、ステップの出力が別のステップの必須の入力であることを指定できます。
OutputPortBinding を初期化します。
- 継承
-
builtins.objectOutputPortBinding
コンストラクター
OutputPortBinding(name, datastore=None, output_name=None, bind_mode='mount', path_on_compute=None, is_directory=None, overwrite=None, data_type=None, pipeline_output_name=None, training_output=None, dataset_registration=None, dataset_output=None)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
文字、数字、アンダースコアのみを含めることができる OutputPortBinding オブジェクトの名前。 |
datastore
|
PipelineData が置かれるデータストア。 規定値: None
|
output_name
|
None の名前が使用されている場合は、出力の名前。 文字、数字、アンダースコアのみを含めることができます。 規定値: None
|
bind_mode
|
生成ステップでデータにアクセスするために "upload"、"mount"、または "hdfs" のどのメソッドを使用するかを指定します。 規定値: mount
|
path_on_compute
|
"upload" モードの場合、モジュールが出力を書き込むパス。 規定値: None
|
is_directory
|
出力がディレクトリかまたは単一のファイルかを示します。 規定値: None
|
overwrite
|
"upload" モードの場合、既存のデータを上書きするかどうかを示します。 規定値: None
|
data_type
|
任意。 データ型を使用すると、予想される出力の型を指定したり、使用ステップでのデータの使用方法の詳細を指定したりできます。 任意のユーザー定義文字列を指定できます。 規定値: None
|
pipeline_output_name
|
指定した場合、この出力はPipelineRun.get_pipeline_output() を使用して利用できます。 パイプラインの出力名は、パイプライン内で一意である必要があります。 規定値: None
|
training_output
|
トレーニング結果の出力を定義します。 これは、メトリックやモデルなどの異なる種類の出力を生成する、特定のトレーニングに対してのみ必要です。 たとえば、AutoMLStep はメトリックとモデルを生成します。 また、最適なモデルを取得するために使用される、特定のトレーニング イテレーションまたはメトリックを定義することもできます。 HyperDriveStep では、出力に含める特定のモデル ファイルを定義することもできます。 規定値: None
|
dataset_registration
|
任意。 これは内部パラメーターです。 代わりに PipelineData.as_dataset を使用する必要があります。 規定値: None
|
dataset_output
|
任意。 これは内部パラメーターです。 代わりに OutputFileDatasetConfig を使用する必要があります。 規定値: None
|
name
必須
|
文字、数字、アンダースコアのみを含めることができる OutputPortBinding オブジェクトの名前。 |
datastore
必須
|
PipelineData が置かれるデータストア。 |
output_name
必須
|
None の名前が使用されている場合は、出力の名前。 文字、数字、アンダースコアのみを含めることができます。 |
bind_mode
必須
|
生成ステップでデータにアクセスするために "upload"、"mount"、または "hdfs" のどのメソッドを使用するかを指定します。 |
path_on_compute
必須
|
"upload" モードの場合、モジュールが出力を書き込むパス。 |
is_directory
必須
|
出力がディレクトリの場合 |
overwrite
必須
|
"upload" モードの場合、既存のデータを上書きするかどうかを示します。 |
data_type
必須
|
任意。 データ型を使用すると、予想される出力の型を指定したり、使用ステップでのデータの使用方法の詳細を指定したりできます。 任意のユーザー定義文字列を指定できます。 |
pipeline_output_name
必須
|
指定した場合、この出力はPipelineRun.get_pipeline_output() を使用して利用できます。 パイプラインの出力名は、パイプライン内で一意である必要があります。 |
training_output
必須
|
トレーニング結果の出力を定義します。 これは、メトリックやモデルなどの異なる種類の出力を生成する、特定のトレーニングに対してのみ必要です。 たとえば、AutoMLStep はメトリックとモデルを生成します。 また、最適なモデルを取得するために使用される、特定のトレーニング イテレーションまたはメトリックを定義することもできます。 HyperDriveStep では、出力に含める特定のモデル ファイルを定義することもできます。 |
dataset_registration
必須
|
任意。 これは内部パラメーターです。 代わりに PipelineData.as_dataset を使用する必要があります。 |
dataset_output
必須
|
任意。 これは内部パラメーターです。 代わりに OutputFileDatasetConfig を使用する必要があります。 |
注釈
パイプラインを構築してステップの入力と出力を指定する場合、 PipelineData と同様の方法で OutputPortBinding を使用できます。 違いは、別のステップへの入力として使用するには、OutputPortBinding を InputPortBinding と組み合わせて使用する必要があることです。
OutputPortBinding を使用してパイプラインを構築する例を次に示します。
from azureml.pipeline.core import OutputPortBinding, InputPortBinding, Pipeline
from azureml.pipeline.steps import PythonScriptStep
step_1_output = OutputPortBinding("output", datastore=datastore)
step_1 = PythonScriptStep(
name='process data',
script_name="process_data.py",
compute_target=compute,
arguments=["--output", step_1_output],
outputs=[step_1_output]
)
step_2_input = InputPortBinding("input", bind_object=step_1_output)
step_2 = PythonScriptStep(
name='train',
script_name="train.py",
compute_target=compute,
arguments=["--input", step_2_input],
inputs=[step_2_input]
)
pipeline = Pipeline(workspace=workspace, steps=[step_1, step_2])
ここでは、2 つの手順でパイプラインを作成します。 最初にプロセス ステップが実行され、その完了後にトレーニング ステップが実行されます。 Azure ML では、OutputPortBinding オブジェクトで説明されているように、プロセス ステップによって生成されるた出力をトレーニング ステップに提供します。
属性
bind_mode
data_type
dataset_registration
datastore
PipelineData が置かれるデータストア。
戻り値
型 | 説明 |
---|---|
データストア オブジェクト。 |