Share via


RScriptStep クラス

Note

これは試験段階のクラスであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。

R スクリプトを実行する Azure ML パイプライン ステップを作成します。

R スクリプトを実行する Azure ML パイプライン ステップを作成します。

非推奨。 代わりに CommandStep を使用してください。 例については、CommandStep を使用してパイプラインで R スクリプトを実行する方法に関するページを参照してください。

継承
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
RScriptStep

コンストラクター

RScriptStep(script_name, name=None, arguments=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, use_gpu=False, custom_docker_image=None, cran_packages=None, github_packages=None, custom_url_packages=None, allow_reuse=True, version=None)

パラメーター

名前 説明
script_name
必須
str

[必須] source_directory を基準にした R スクリプトの名前。

name
必須
str

ステップの名前。 指定されなかった場合は、script_name が使用されます。

arguments
必須

R スクリプト ファイルのコマンド ライン引数。 引数は、RunConfiguration の arguments パラメーターを介してコンピューティングに渡されます。 特殊なシンボルなどの引数を処理する方法の詳細については、「RunConfiguration」を参照してください。

compute_target
必須

[必須] 使用するコンピューティング先。 指定されなかった場合は、runconfig のターゲットが使用されます。 このパラメーターはコンピューティング先オブジェクトとして、またはワークスペース上のコンピューティング先の文字列名として指定できます。 必要に応じて、パイプラインの作成時にコンピューティング先が使用できない場合は、('コンピューティング先の名前'、'コンピューティング先の型') のタプルを指定することにより、コンピューティング先オブジェクトがフェッチされないようにすることもできます (AmlCompute の型は 'AmlCompute' で、RemoteCompute の型は 'VirtualMachine' です)。

runconfig
必須

[必須] 実験でトレーニング実行を送信するために必要な情報をカプセル化する、実行構成です。 これは、RSection で定義できる R 実行構成を定義するために必要になります。 このステップには RSection が必要です。

runconfig_pipeline_params
必須

キーに runconfig プロパティの名前、値にそのプロパティの PipelineParameter を持つキーと値のペアを使用して、実行時に runconfig プロパティをオーバーライドします。

サポートされる値は、'NodeCount'、'MpiProcessCountPerNode'、'TensorflowWorkerCount'、'TensorflowParameterServerCount' です。

inputs
必須

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

outputs
必須

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

params
必須

"AML_PARAMETER_" を使用して環境変数として登録された名前と値のペアのディクショナリ。

source_directory
必須
str

ステップで使用される R スクリプト、conda env、その他のリソースを含むフォルダー。

use_gpu
必須

実験を実行する環境で GPU をサポートする必要があるかどうかを指定します。 True の場合、GPU ベースの既定の Docker イメージが環境で使用されます。 False の場合、CPU ベースのイメージが使用されます。 既定の Docker イメージ (CPU または GPU) は、ユーザーが base_imagebase_dockerfile の両方のパラメーターを設定していない場合にのみ使用されます。 この設定は、Docker 対応のコンピューティング先でのみ使用されます。 base_image の詳細については、https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection を参照してください。

custom_docker_image
必須
str

Docker イメージの名前。トレーニングに使用するイメージは、この Docker イメージからビルドされます。 設定しない場合は、既定の CPU ベースのイメージが基本イメージとして使用されます。 これは現在推奨されておらず、将来のリリースでは削除される予定です。 代わりに、DockerSection で base_image を使用してください。

cran_packages
必須

インストールされる CRAN パッケージ。 これは現在推奨されておらず、将来のリリースでは削除される予定です。 代わりに RSection.cran_packages を使用してください。

github_packages
必須

インストールされる GitHub パッケージ。 これは現在推奨されておらず、将来のリリースでは削除される予定です。 代わりに RSection.github_packages を使用してください。

custom_url_packages
必須

ローカル、ディレクトリ、またはカスタムの URL からインストールされるパッケージ。 これは現在推奨されておらず、将来のリリースでは削除される予定です。 代わりに RSection.custom_url_packages を使用してください。

allow_reuse
必須

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

version
必須
str

ステップの機能変更を示す省略可能なバージョン タグ。

script_name
必須
str

[必須] source_directory を基準にした R スクリプトの名前。

name
必須
str

ステップの名前。 指定されなかった場合は、script_name が使用されます。

arguments
必須

R スクリプト ファイルのコマンド ライン引数。 引数は、RunConfiguration の arguments パラメーターを介してコンピューティングに渡されます。 特殊なシンボルなどの引数を処理する方法の詳細については、「RunConfiguration」を参照してください。

compute_target
必須

[必須] 使用するコンピューティング先。 指定しない場合は、 のターゲットが runconfig 使用されます。 このパラメーターはコンピューティング先オブジェクトとして、またはワークスペース上のコンピューティング先の文字列名として指定できます。 必要に応じて、パイプラインの作成時にコンピューティング先が使用できない場合は、('コンピューティング先の名前'、'コンピューティング先の型') のタプルを指定することにより、コンピューティング先オブジェクトがフェッチされないようにすることもできます (AmlCompute の型は 'AmlCompute' で、RemoteCompute の型は 'VirtualMachine' です)。

runconfig
必須

[必須] 実験でトレーニング実行を送信するために必要な情報をカプセル化する、実行構成です。 これは、RSection で定義できる R 実行構成を定義するために必要になります。 このステップには RSection が必要です。

runconfig_pipeline_params
必須

キーに runconfig プロパティの名前、値にそのプロパティの PipelineParameter を持つキーと値のペアを使用して、実行時に runconfig プロパティをオーバーライドします。

サポートされる値は、'NodeCount'、'MpiProcessCountPerNode'、'TensorflowWorkerCount'、'TensorflowParameterServerCount' です。

inputs
必須

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

outputs
必須

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

params
必須

"AML_PARAMETER_" を使用して環境変数として登録された名前と値のペアのディクショナリ。

source_directory
必須
str

ステップで使用される R スクリプト、conda env、その他のリソースを含むフォルダー。

use_gpu
必須

実験を実行する環境で GPU をサポートする必要があるかどうかを指定します。 True の場合、GPU ベースの既定の Docker イメージが環境で使用されます。 False の場合、CPU ベースのイメージが使用されます。 既定の Docker イメージ (CPU または GPU) は、ユーザーが base_imagebase_dockerfile の両方のパラメーターを設定していない場合にのみ使用されます。 この設定は、Docker 対応のコンピューティング先でのみ使用されます。 base_image の詳細については、https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection を参照してください。

custom_docker_image
必須
str

Docker イメージの名前。トレーニングに使用するイメージは、この Docker イメージからビルドされます。 設定しない場合は、既定の CPU ベースのイメージが基本イメージとして使用されます。 これは現在推奨されておらず、将来のリリースでは削除される予定です。 代わりに、DockerSection で base_image を使用してください。

cran_packages
必須

インストールされる CRAN パッケージ。 これは現在推奨されておらず、将来のリリースでは削除される予定です。 代わりに RSection.cran_packages を使用してください。

github_packages
必須

インストールされる GitHub パッケージ。 これは現在推奨されておらず、将来のリリースでは削除される予定です。 代わりに RSection.github_packages を使用してください。

custom_url_packages
必須

ローカル、ディレクトリ、またはカスタムの URL からインストールされるパッケージ。 これは現在推奨されておらず、将来のリリースでは削除される予定です。 代わりに RSection.custom_url_packages を使用してください。

allow_reuse
必須

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

version
必須
str

ステップの機能変更を示す省略可能なバージョン タグ。

注釈

RScriptStep は、コンピューティング先で R スクリプトを実行するための基本的な組み込みステップです。 スクリプト名とその他の省略可能なパラメーター (スクリプト、コンピューティング先、入力、出力の引数など) を受け取ります。 カスタムの Docker イメージや必須の cran/github パッケージなどの RScriptStep の要件を指定するには、RunConfiguration を使用する必要があります。

RScriptStep を使用する場合のベスト プラクティスは、スクリプトおよびステップに関連付けられている依存ファイル用として別のフォルダーを使用し、source_directory パラメーターでそのフォルダーを指定することです。 このベスト プラクティスに従うと、2 つの利点があります。 まず、ステップに必要なものだけがスナップショットされるため、ステップに対して作成されるスナップショットのサイズを小さくするのに役立ちます。 次に、スナップショットの再アップロードをトリガーする source_directory の変更がない場合に、以前の実行からのステップの出力を再利用できます。

次のコード例は、機械学習のトレーニング シナリオで RScriptStep を使用する方法を示しています。


   from azureml.core.runconfig import RunConfiguration
   from azureml.core.environment import Environment, RSection, RCranPackage
   from azureml.pipeline.steps import RScriptStep

   rc = RunConfiguration()
   rc.framework='R'
   rc.environment.r = RSection()                            # R details with required packages
   rc.environment.docker.enabled = True                     # to enable docker image
   rc.environment.docker.base_image = '<custom user image>' # to use custom image

   cran_package1 = RCranPackage()
   cran_package1.name = "ggplot2"
   cran_package1.repository = "www.customurl.com"
   cran_package1.version = "2.1"
   rc.environment.r.cran_packages = [cran_package1]

   trainStep = RScriptStep(script_name="train.R",
                           arguments=["--input", blob_input_data, "--output", output_data1],
                           inputs=[blob_input_data],
                           outputs=[output_data1],
                           compute_target=compute_target,
                           use_gpu=False,
                           runconfig=rc,
                           source_directory=project_folder)

パイプラインの作成全般の詳細については、https://aka.ms/pl-first-pipeline を参照してください。 RSection の詳細については、https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.rsection を参照してください。

メソッド

create_node

RScriptStep のノードを作成し、指定されたグラフに追加します。

非推奨。 代わりに CommandStep を使用してください。 例については、CommandStep を使用してパイプラインで R スクリプトを実行する方法に関するページを参照してください。

このメソッドは直接使用するためのものではありません。 このステップでパイプラインがインスタンス化されると、Azure ML は、ワークフローを表すパイプライン グラフにステップを追加できるように、このメソッドで必要なパラメーターを自動的に渡します。

create_node

RScriptStep のノードを作成し、指定されたグラフに追加します。

非推奨。 代わりに CommandStep を使用してください。 例については、CommandStep を使用してパイプラインで R スクリプトを実行する方法に関するページを参照してください。

このメソッドは直接使用するためのものではありません。 このステップでパイプラインがインスタンス化されると、Azure ML は、ワークフローを表すパイプライン グラフにステップを追加できるように、このメソッドで必要なパラメーターを自動的に渡します。

create_node(graph, default_datastore, context)

パラメーター

名前 説明
graph
必須

ノードを追加するグラフ オブジェクト。

default_datastore
必須

既定のデータストア。

context
必須
<xref:azureml.pipeline.core._GraphContext>

グラフ コンテキスト。

戻り値

説明

作成されたノード。