InputPortBinding クラス
ソースからパイプライン ステップの入力へのバインドを定義します。
InputPortBinding は、ステップへの入力として使用できます。 ソースには、 PipelineData、 PortDataReference、 DataReference、 PipelineDataset、または OutputPortBindingを指定できます。
InputPortBinding は、ステップ入力の名前がバインド オブジェクトの名前と異なる必要がある場合 (つまり、入力/出力名が重複しないようにするため、またはステップ スクリプトに特定の名前を入力する必要があるため) を指定する場合に便利です。 また、 PythonScriptStep 入力のbind_modeを指定するために使用することもできます。
InputPortBinding を初期化します。
コンストラクター
InputPortBinding(name, bind_object=None, bind_mode='mount', path_on_compute=None, overwrite=None, is_resource=False, additional_transformations=None, **kwargs)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
バインドする入力ポートの名前。文字、数字、アンダースコアのみを含めることができます。 |
bind_object
|
入力ポートにバインドするオブジェクト。 規定値: None
|
bind_mode
|
使用する手順で、"download" メソッドまたは "mount" メソッドを使用してデータにアクセスするかどうかを指定します。 規定値: mount
|
path_on_compute
|
"ダウンロード" モードの場合、ステップがデータを読み取るローカル パス。 規定値: None
|
overwrite
|
"ダウンロード" モードの場合は、既存のデータを上書きするかどうかを指定します。 規定値: None
|
is_resource
|
入力がリソースであるかどうかを示します。 リソースはスクリプト フォルダーにダウンロードされ、実行時にスクリプトの動作を変更する方法が提供されます。 規定値: False
|
additional_transformations
|
<xref:azureml.dataprep.Dataflow>
入力に適用する追加の変換。 これは、前の手順の出力が Azure Machine Learning データセットである場合にのみ適用されます。 規定値: None
|
name
必須
|
バインドする入力ポートの名前。文字、数字、アンダースコアのみを含めることができます。 |
bind_object
必須
|
入力ポートにバインドするオブジェクト。 |
bind_mode
必須
|
使用する手順で、データにアクセスするために "ダウンロード" メソッドまたは "マウント" メソッドまたは "ダイレクト" メソッドのどちらを使用するかを指定します。 |
path_on_compute
必須
|
"ダウンロード" モードの場合、ステップがデータを読み取るローカル パス。 |
overwrite
必須
|
"ダウンロード" モードの場合は、既存のデータを上書きするかどうかを指定します。 |
is_resource
必須
|
入力がリソースであるかどうかを示します。 リソースはスクリプト フォルダーにダウンロードされ、実行時にスクリプトの動作を変更する方法が提供されます。 |
additional_transformations
必須
|
<xref:azureml.dataprep.Dataflow>
入力に適用する追加の変換。 これは、前の手順の出力が Azure Machine Learning データセットである場合にのみ適用されます。 |
注釈
InputPortBinding は、パイプライン内のデータ依存関係を指定するために使用されます。これは、ステップが実行に必要な入力を表します。 InputPortBindings には、入力データの生成方法を指定する bind_object と呼ばれるソースがあります。
PipelineData および OutputPortBinding は、InputPortBinding のbind_objectとして使用して、ステップへの入力がパイプラインの別のステップによって生成されるように指定できます。
InputPortBinding と PipelineData を使用してパイプラインを構築する例を次に示します。
from azureml.pipeline.core import PipelineData, InputPortBinding, Pipeline
from azureml.pipeline.steps import PythonScriptStep
step_1_output = PipelineData("output", datastore=datastore, output_mode="mount")
step_1 = PythonScriptStep(
name='prepare data',
script_name="prepare_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])
この例では、"トレーニング" ステップでは、入力として "データの準備" ステップの出力が必要です。
PortDataReference、 DataReference、または PipelineDataset を InputPortBinding のbind_objectとして使用して、ステップへの入力が指定した場所に既に存在することを指定できます。
InputPortBinding と DataReference を使用してパイプラインを構築する例を次に示します。
from azureml.data.data_reference import DataReference
from azureml.pipeline.core import InputPortBinding, Pipeline
from azureml.pipeline.steps import PythonScriptStep
data_reference = DataReference(datastore=datastore, path_on_datastore='sample_data.txt', mode="mount")
step_1_input = InputPortBinding("input", bind_object=data_reference)
step_1 = PythonScriptStep(
name='train',
script_name="train.py",
compute_target=compute,
arguments=["--input", step_1_input],
inputs=[step_1_input]
)
pipeline = Pipeline(workspace=workspace, steps=[step_1])
この例の "トレーニング" ステップでは、DataReference で入力として指定された "sample_data.txt" ファイルが必要です。
メソッド
as_resource |
リソースとして使用できる重複する入力ポート バインドを取得します。 |
get_bind_object_data_type |
バインド オブジェクトのデータ型を取得します。 |
get_bind_object_name |
バインド オブジェクトの名前を取得します。 |
as_resource
リソースとして使用できる重複する入力ポート バインドを取得します。
as_resource()
戻り値
型 | 説明 |
---|---|
is_resource プロパティを使用した InputPortBinding は True を設定します。 |
get_bind_object_data_type
get_bind_object_name
属性
additional_transformations
入力データに適用する追加の変換を取得します。
戻り値
型 | 説明 |
---|---|
<xref:azureml.dataprep.Dataflow>
|
入力データに適用する追加の変換。 |
bind_mode
使用するステップがデータへのアクセスに使用するモード ("download"、"mount"、"direct"、"hdfs") を取得します。
戻り値
型 | 説明 |
---|---|
バインド モード ("download" または "mount" または "direct" または "hdfs")。 |
bind_object
InputPort がバインドされるオブジェクトを取得します。
戻り値
型 | 説明 |
---|---|
バインド オブジェクト。 |