DataTransferStep クラス
ストレージ オプション間でデータを転送する Azure ML パイプライン ステップを作成します。
DataTransferStep は、Azure Blob Storage や Azure Data Lake などの一般的なストレージの種類をソースおよびシンクとしてサポートします。 詳細については、「注釈」セクションを参照してください。
DataTransferStep の使用例については、ノートブック https://aka.ms/pl-data-trans を参照してください。
ストレージ オプション間でデータを転送する Azure ML パイプライン ステップを作成します。
- 継承
-
azureml.pipeline.core._data_transfer_step_base._DataTransferStepBaseDataTransferStep
コンストラクター
DataTransferStep(name, source_data_reference=None, destination_data_reference=None, compute_target=None, source_reference_type=None, destination_reference_type=None, allow_reuse=True)
パラメーター
- source_data_reference
- Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
[必須] データ転送操作のソースとして機能する入力接続。
- destination_data_reference
- Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
[必須] データ転送操作の転送先として機能する出力接続。
- source_reference_type
- str
source_data_reference
の種類を指定する文字列 (省略可能)。 指定できる値は "file"、"directory" です。 指定しない場合は、既存のパスの種類が使用されます。
このパラメーターは、同じ名前のファイルとディレクトリを区別するために使用します。
- destination_reference_type
- str
destination_data_reference
の種類を指定する文字列 (省略可能)。
指定できる値は "file"、"directory" です。 指定しない場合、Azure ML では既存のパス、ソース参照、"ディレクトリ" の種類がこの順で使用されます。
- allow_reuse
- bool
同じ設定で再実行されたときに、ステップで前の結果を再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップ引数が変更されていない場合は、このステップの前の実行からの出力が再利用されます。 ステップを再利用する場合は、データを再度転送するのではなく、直前の実行の結果を後続のステップですぐに利用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。
- source_data_reference
- Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
[必須] データ転送操作のソースとして機能する入力接続。
- destination_data_reference
- Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
[必須] データ転送操作の転送先として機能する出力接続。
- source_reference_type
- str
source_data_reference
の種類を指定する文字列 (省略可能)。 指定できる値は "file"、"directory" です。 指定しない場合は、既存のパスの種類が使用されます。
このパラメーターは、同じ名前のファイルとディレクトリを区別するために使用します。
- destination_reference_type
- str
destination_data_reference
の種類を指定する文字列 (省略可能)。
指定できる値は "file"、"directory" です。 指定しない場合、Azure ML では既存のパス、ソース参照、"ディレクトリ" の種類がこの順で使用されます。
- allow_reuse
- bool
同じ設定で再実行されたときに、ステップで前の結果を再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップ引数が変更されていない場合は、このステップの前の実行からの出力が再利用されます。 ステップを再利用する場合は、データを再度転送するのではなく、直前の実行の結果を後続のステップですぐに利用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。
注釈
このステップでは特に明記されている場合を除き、以下のストレージ タイプがソースおよびシンクとしてサポートされています。
Azure Blob Storage
Azure Data Lake Storage Gen1 と Gen2
Azure SQL データベース
Azure Database for PostgreSQL
Azure Database for MySQL
Azure SQL Database の場合は、サービス プリンシパルの認証を使用する必要があります。 詳細については、「サービス プリンシパルの認証」を参照してください。 Azure SQL Database でサービス プリンシパルの認証を使用する例については、https://aka.ms/pl-data-trans を参照してください。
ステップ間のデータ依存関係を確立するには、get_output メソッドを使用して、このデータ転送ステップの出力を表し、パイプラインの以降のステップの入力として使用できる PipelineData オブジェクトを取得します。
data_transfer_step = DataTransferStep(name="copy data", ...)
# Use output of data_transfer_step as input of another step in pipeline
# This will make training_step wait for data_transfer_step to complete
training_input = data_transfer_step.get_output()
training_step = PythonScriptStep(script_name="train.py",
arguments=["--model", training_input],
inputs=[training_input],
compute_target=aml_compute,
source_directory=source_directory)
特定の名前の InputPortBinding を作成するには、get_output() の出力に as_input の出力や PipelineData の as_mount メソッドを組み合わせます。
data_transfer_step = DataTransferStep(name="copy data", ...)
training_input = data_transfer_step.get_output().as_input("my_input_name")
メソッド
create_node |
DataTransfer ステップからノードを作成し、指定されたグラフに追加します。 このメソッドは直接使用するためのものではありません。 このステップでパイプラインがインスタンス化されると、Azure ML は、ワークフローを表すパイプライン グラフにステップを追加できるように、このメソッドで必要なパラメーターを自動的に渡します。 |
get_output |
ステップの出力を PipelineData として取得します。 |
create_node
DataTransfer ステップからノードを作成し、指定されたグラフに追加します。
このメソッドは直接使用するためのものではありません。 このステップでパイプラインがインスタンス化されると、Azure ML は、ワークフローを表すパイプライン グラフにステップを追加できるように、このメソッドで必要なパラメーターを自動的に渡します。
create_node(graph, default_datastore, context)
パラメーター
- context
- <xref:azureml.pipeline.core._GraphContext>
グラフ コンテキスト。
戻り値
作成されたノード。
の戻り値の型 :
get_output
ステップの出力を PipelineData として取得します。
get_output()
戻り値
ステップの出力。
の戻り値の型 :
注釈
ステップ間のデータ依存関係を確立するには、get_output メソッドを使用して、このデータ転送ステップの出力を表し、パイプラインの以降のステップの入力として使用できる PipelineData オブジェクトを取得します。
data_transfer_step = DataTransferStep(name="copy data", ...)
# Use output of data_transfer_step as input of another step in pipeline
# This will make training_step wait for data_transfer_step to complete
training_input = data_transfer_step.get_output()
training_step = PythonScriptStep(script_name="train.py",
arguments=["--model", training_input],
inputs=[training_input],
compute_target=aml_compute,
source_directory=source_directory)
特定の名前の InputPortBinding を作成するには、get_output() 呼び出しを as_input または as_mount ヘルパー メソッドと組み合わせます。
data_transfer_step = DataTransferStep(name="copy data", ...)
training_input = data_transfer_step.get_output().as_input("my_input_name")
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示