次の方法で共有


InputPortBinding クラス

ソースからパイプライン ステップの入力へのバインドを定義します。

InputPortBinding は、ステップへの入力として使用できます。 ソースには、 PipelineDataPortDataReferenceDataReferencePipelineDataset、または 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
必須
str

バインドする入力ポートの名前。文字、数字、アンダースコアのみを含めることができます。

bind_object

入力ポートにバインドするオブジェクト。

規定値: None
bind_mode
str

使用する手順で、"download" メソッドまたは "mount" メソッドを使用してデータにアクセスするかどうかを指定します。

規定値: mount
path_on_compute
str

"ダウンロード" モードの場合、ステップがデータを読み取るローカル パス。

規定値: None
overwrite

"ダウンロード" モードの場合は、既存のデータを上書きするかどうかを指定します。

規定値: None
is_resource

入力がリソースであるかどうかを示します。 リソースはスクリプト フォルダーにダウンロードされ、実行時にスクリプトの動作を変更する方法が提供されます。

規定値: False
additional_transformations
<xref:azureml.dataprep.Dataflow>

入力に適用する追加の変換。 これは、前の手順の出力が Azure Machine Learning データセットである場合にのみ適用されます。

規定値: None
name
必須
str

バインドする入力ポートの名前。文字、数字、アンダースコアのみを含めることができます。

bind_object
必須

入力ポートにバインドするオブジェクト。

bind_mode
必須
str

使用する手順で、データにアクセスするために "ダウンロード" メソッドまたは "マウント" メソッドまたは "ダイレクト" メソッドのどちらを使用するかを指定します。

path_on_compute
必須
str

"ダウンロード" モードの場合、ステップがデータを読み取るローカル パス。

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

この例では、"トレーニング" ステップでは、入力として "データの準備" ステップの出力が必要です。

PortDataReferenceDataReference、または 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_data_type()

戻り値

説明
str

データ型名。

get_bind_object_name

バインド オブジェクトの名前を取得します。

get_bind_object_name()

戻り値

説明
str

バインド オブジェクト名。

属性

additional_transformations

入力データに適用する追加の変換を取得します。

戻り値

説明
<xref:azureml.dataprep.Dataflow>

入力データに適用する追加の変換。

bind_mode

使用するステップがデータへのアクセスに使用するモード ("download"、"mount"、"direct"、"hdfs") を取得します。

戻り値

説明
str

バインド モード ("download" または "mount" または "direct" または "hdfs")。

bind_object

InputPort がバインドされるオブジェクトを取得します。

戻り値

説明

バインド オブジェクト。

data_reference_name

InputPortBinding に関連付けられているデータ参照の名前を取得します。

戻り値

説明
str

データ参照名。

data_type

入力データの型を取得します。

戻り値

説明
str

データ型プロパティ。

is_resource

入力がリソースであるかどうかを取得します。

戻り値

説明

リソースを入力します。

name

入力ポート バインドの名前。

戻り値

説明
str

名前。

overwrite

"ダウンロード" モードの場合は、既存のデータを上書きするかどうかを指定します。

戻り値

説明

overwrite プロパティ。

path_on_compute

ステップがデータを読み取るローカル パスを取得します。

戻り値

説明
str

コンピューティング上のパス。