共用方式為


RScriptStep 類別

注意

這是實驗性類別,可以隨時變更。 請參閱 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
必要

[必要]相對於 的 R 腳本 source_directory 名稱。

name
str
必要

步驟的名稱。 如果未指定, script_name 則會使用 。

arguments
list
必要

R 腳本檔案的命令列引數。 引數將會透過 arguments RunConfiguration 中的 參數傳遞至計算。 如需如何處理特殊符號等引數的詳細資訊,請參閱 RunConfiguration

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
必要

[必要]要使用的計算目標。 如果未指定,則會使用 中的 runconfig 目標。 此參數可以指定為計算目標物件或工作區上計算目標的字串名稱。 您可以選擇性地在管線建立期間無法使用計算目標,您可以指定 ('compute target name'、'compute target type') 的 Tuple,以避免擷取計算目標物件 (AmlCompute 類型為 'AmlCompute',而 RemoteCompute 類型為 'VirtualMachine') 。

runconfig
RunConfiguration
必要

[必要]執行組態,其封裝在實驗中提交定型回合所需的資訊。 這是定義可在 中 RSection 定義的 R 回合組態的必要專案。 此步驟需要 RSection。

runconfig_pipeline_params
dict[str, PipelineParameter]
必要

使用機碼/值組覆寫執行時間的 Runconfig 屬性,每個屬性的名稱都是 runconfig 屬性,以及該屬性的 PipelineParameter。

支援的值:'NodeCount'、'MpiProcessCountPerNode'、'TensorflowWorkerCount'、'TensorflowParameterServerCount'

params
dict
必要

以 「AML_PARAMETER_」 註冊為環境變數的名稱/值組字典。

source_directory
str
必要

資料夾,其中包含步驟中使用的 R 腳本、conda env 和其他資源。

use_gpu
bool
必要

指出執行實驗的環境是否應該支援 GPU。 如果為 True,則會在環境中使用 GPU 型預設 Docker 映射。 如果為 False,則會使用以 CPU 為基礎的映射。 只有在使用者未同時設定 base_imagebase_dockerfile 參數時,才會使用 (CPU 或 GPU) 的預設 Docker 映射。 此設定僅適用于已啟用 Docker 的計算目標。 如需 的詳細資訊, base_image 請參閱 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection

custom_docker_image
str
必要

要用來定型之映射的 Docker 映射名稱。 如果未設定,則會使用預設 CPU 型映射作為基底映射。 這已被取代,將在未來的版本中移除。 請改用 DockerSection 中的base_image。

cran_packages
list
必要

要安裝的 CRAN 套件。 這已被取代,將在未來的版本中移除。 請改用RSection.cran_packages。

github_packages
list
必要

要安裝的 GitHub 套件。 這已被取代,將在未來的版本中移除。 請改用 RSection.github_packages。

custom_url_packages
list
必要

要從本機、目錄或自訂 URL 安裝的套件。 這已被取代,將在未來的版本中移除。 請改用RSection.custom_url_packages。

allow_reuse
bool
必要

指出當使用相同的設定重新執行時,此步驟是否應該重複使用先前的結果。 預設會啟用重複使用。 如果步驟內容 (腳本/相依性) 以及輸入和參數保持不變,則會重複使用此步驟上一次執行的輸出。 重複使用步驟時,不會提交要計算的作業,而是立即提供給任何後續步驟使用上一次執行的結果。 如果您使用 Azure Machine Learning 資料集作為輸入,重複使用取決於資料集的定義是否已變更,而不是基礎資料是否已變更。

version
str
必要

選擇性版本戳記,表示步驟的功能變更。

script_name
str
必要

[必要]相對於 的 R 腳本 source_directory 名稱。

name
str
必要

步驟的名稱。 如果未指定, script_name 則會使用 。

arguments
list
必要

R 腳本檔案的命令列引數。 引數將會透過 arguments RunConfiguration 中的 參數傳遞至計算。 如需如何處理特殊符號等引數的詳細資訊,請參閱 RunConfiguration

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
必要

[必要]要使用的計算目標。 如果未指定,將會使用 中 runconfig 的目標。 此參數可以指定為計算目標物件或工作區上計算目標的字串名稱。 您可以選擇性地在管線建立期間無法使用計算目標,您可以指定 ('compute target name'、'compute target type') 的 Tuple,以避免擷取計算目標物件 (AmlCompute 類型為 'AmlCompute',而 RemoteCompute 類型為 'VirtualMachine') 。

runconfig
RunConfiguration
必要

[必要]執行組態,其封裝在實驗中提交定型回合所需的資訊。 這是定義可在 中 RSection 定義的 R 回合組態的必要專案。 此步驟需要 RSection。

runconfig_pipeline_params
dict[str, PipelineParameter]
必要

使用機碼/值組覆寫執行時間的 Runconfig 屬性,每個屬性的名稱都是 runconfig 屬性,以及該屬性的 PipelineParameter。

支援的值:'NodeCount'、'MpiProcessCountPerNode'、'TensorflowWorkerCount'、'TensorflowParameterServerCount'

outputs
list[Union[PipelineData, PipelineOutputAbstractDataset, OutputPortBinding]]
必要

輸出埠系結的清單。

params
dict
必要

以 「AML_PARAMETER_」 註冊為環境變數的名稱/值組字典。

source_directory
str
必要

資料夾,其中包含步驟中使用的 R 腳本、conda env 和其他資源。

use_gpu
bool
必要

指出執行實驗的環境是否應該支援 GPU。 如果為 True,則會在環境中使用 GPU 型預設 Docker 映射。 如果為 False,則會使用以 CPU 為基礎的映射。 只有在使用者未同時設定 base_imagebase_dockerfile 參數時,才會使用 (CPU 或 GPU) 的預設 Docker 映射。 此設定僅適用于已啟用 Docker 的計算目標。 如需 的詳細資訊, base_image 請參閱 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection

custom_docker_image
str
必要

要用來定型之映射的 Docker 映射名稱。 如果未設定,則會使用預設 CPU 型映射作為基底映射。 這已被取代,將在未來的版本中移除。 請改用 DockerSection 中的base_image。

cran_packages
list
必要

要安裝的 CRAN 套件。 這已被取代,將在未來的版本中移除。 請改用RSection.cran_packages。

github_packages
list
必要

要安裝的 GitHub 套件。 這已被取代,將在未來的版本中移除。 請改用 RSection.github_packages。

custom_url_packages
list
必要

要從本機、目錄或自訂 URL 安裝的套件。 這已被取代,將在未來的版本中移除。 請改用RSection.custom_url_packages。

allow_reuse
bool
必要

指出當使用相同的設定重新執行時,此步驟是否應該重複使用先前的結果。 預設會啟用重複使用。 如果步驟內容 (腳本/相依性) 以及輸入和參數保持不變,則會重複使用此步驟上一次執行的輸出。 重複使用步驟時,不會提交要計算的作業,而是立即提供給任何後續步驟使用上一次執行的結果。 如果您使用 Azure Machine Learning 資料集作為輸入,重複使用取決於資料集的定義是否已變更,而不是基礎資料是否已變更。

version
str
必要

選擇性版本戳記,表示步驟的功能變更。

備註

RScriptStep 是在計算目標上執行 R 腳本的基本內建步驟。 它會將指令碼名稱和其他選用參數 (例如引數) 用於指令碼、計算目標、輸入和輸出。 您應該使用 RunConfiguration 來指定 RScriptStep 的需求,例如自訂 Docker 映射、必要的 cran/github 套件。

使用 RScriptStep 的最佳做法是針對腳本和與步驟相關聯的任何相依檔案使用不同的資料夾,並使用 參數指定該資料夾 source_directory 。 遵循此最佳做法有兩個優點。 首先,它有助於減少為步驟建立的快照集大小,因為只會快照步驟所需的快照集。 第二,如果沒有任何變更會觸發重新上傳快照集的 , 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
Graph
必要

要加入節點的繪圖物件。

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
必要

預設資料存放區。

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

圖形內容。

傳回

已建立的節點。

傳回類型