Compartilhar via


RScriptStep Classe

Observação

Esta é uma classe experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Cria uma etapa do Pipeline do Azure ML que executa o script R.

Crie uma etapa do Pipeline do Azure ML que executa o script R.

DEPRECADO. Use o CommandStep em vez disso. Para obter um exemplo , consulte Como executar scripts R em pipelines com CommandStep.

Construtor

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)

Parâmetros

Nome Description
script_name
Obrigatório
str

[Obrigatório] O nome de um script R em relação a source_directory.

name
Obrigatório
str

O nome da etapa. Se não for especificado, script_name será usado.

arguments
Obrigatório

Argumentos de linha de comando para o arquivo de script R. Os argumentos serão passados para computação por meio do arguments parâmetro em RunConfiguration. Para obter mais detalhes sobre como lidar com argumentos como símbolos especiais, consulte o RunConfiguration.

compute_target
Obrigatório

[Obrigatório] O destino de computação a ser usado. Se não for especificado, o destino do runconfig é usado. Esse parâmetro pode ser especificado como um objeto de destino de computação ou o nome da cadeia de caracteres de um destino de computação no workspace. Opcionalmente, se o destino de computação não estiver disponível no momento da criação do pipeline, você poderá especificar uma tupla de ('nome de destino de computação', 'tipo de destino de computação') para evitar buscar o objeto de destino de computação (o tipo AmlCompute é 'AmlCompute' e o tipo RemoteCompute é 'VirtualMachine').

runconfig
Obrigatório

[Obrigatório] Execute a configuração que encapsula as informações necessárias para enviar uma execução de treinamento em um experimento. Isso é necessário para definir configurações de execução R que podem ser definidas em RSection. A RSection é necessária para esta etapa.

runconfig_pipeline_params
Obrigatório

Substitui as propriedades de runconfig em runtime usando pares chave-valor cada um com o nome da propriedade runconfig e PipelineParameter para essa propriedade.

Valores com suporte: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
Obrigatório

Uma lista de associações de porta de entrada.

outputs
Obrigatório

Uma lista de associações de porta de saída.

params
Obrigatório

Um dicionário de pares nome-valor registrados como variáveis de ambiente com "AML_PARAMETER_".

source_directory
Obrigatório
str

Uma pasta que contém script R, conda env e outros recursos usados na etapa.

use_gpu
Obrigatório

Indica se o ambiente para executar o experimento deve dar suporte a GPUs. Se true, uma imagem do Docker padrão baseada em GPU será usada no ambiente. Se false, uma imagem baseada em CPU será usada. As imagens padrão do Docker (CPU ou GPU) serão usadas somente se um usuário não definir parâmetros e base_image ambosbase_dockerfile. Essa configuração é usada somente em destinos de computação habilitados para Docker. Confira https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection mais detalhes sobre base_image.

custom_docker_image
Obrigatório
str

O nome da imagem do Docker da qual a imagem a ser usada para treinamento será criada. Se não for definido, uma imagem baseada em CPU padrão será usada como a imagem base. Isso foi preterido e será removido em uma versão futura. Use base_image no DockerSection.

cran_packages
Obrigatório

Pacotes CRAN a serem instalados. Isso foi preterido e será removido em uma versão futura. Em vez disso, use RSection.cran_packages.

github_packages
Obrigatório

Pacotes do GitHub a serem instalados. Isso foi preterido e será removido em uma versão futura. Em vez disso, use RSection.github_packages.

custom_url_packages
Obrigatório

Pacotes a serem instalados de URL local, de diretório ou personalizado. Isso foi preterido e será removido em uma versão futura. Em vez disso, use RSection.custom_url_packages.

allow_reuse
Obrigatório

Indica se a etapa deve reutilizar os resultados anteriores ao executar novamente com as mesmas configurações. A reutilização é habilitada por padrão. Se o conteúdo da etapa (scripts/dependências), bem como entradas e parâmetros permanecerem inalterados, a saída da execução anterior desta etapa será reutilizado. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer etapas subsequentes. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada, não se os dados subjacentes foram alterados.

version
Obrigatório
str

Uma marca de versão opcional para indicar uma alteração na funcionalidade da etapa.

script_name
Obrigatório
str

[Obrigatório] O nome de um script R em relação a source_directory.

name
Obrigatório
str

O nome da etapa. Se não for especificado, script_name será usado.

arguments
Obrigatório

Argumentos de linha de comando para o arquivo de script R. Os argumentos serão passados para computação por meio do arguments parâmetro em RunConfiguration. Para obter mais detalhes sobre como lidar com argumentos como símbolos especiais, consulte o RunConfiguration.

compute_target
Obrigatório

[Obrigatório] O destino de computação a ser usado. Se não for especificado, o destino do runconfig será usado. Esse parâmetro pode ser especificado como um objeto de destino de computação ou o nome da cadeia de caracteres de um destino de computação no workspace. Opcionalmente, se o destino de computação não estiver disponível no momento da criação do pipeline, você poderá especificar uma tupla de ('nome de destino de computação', 'tipo de destino de computação') para evitar buscar o objeto de destino de computação (o tipo AmlCompute é 'AmlCompute' e o tipo RemoteCompute é 'VirtualMachine').

runconfig
Obrigatório

[Obrigatório] Execute a configuração que encapsula as informações necessárias para enviar uma execução de treinamento em um experimento. Isso é necessário para definir configurações de execução R que podem ser definidas em RSection. A RSection é necessária para esta etapa.

runconfig_pipeline_params
Obrigatório

Substitui as propriedades de runconfig em runtime usando pares chave-valor cada um com o nome da propriedade runconfig e PipelineParameter para essa propriedade.

Valores com suporte: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
Obrigatório

Uma lista de associações de porta de entrada.

outputs
Obrigatório

Uma lista de associações de porta de saída.

params
Obrigatório

Um dicionário de pares nome-valor registrados como variáveis de ambiente com "AML_PARAMETER_".

source_directory
Obrigatório
str

Uma pasta que contém script R, conda env e outros recursos usados na etapa.

use_gpu
Obrigatório

Indica se o ambiente para executar o experimento deve dar suporte a GPUs. Se true, uma imagem do Docker padrão baseada em GPU será usada no ambiente. Se false, uma imagem baseada em CPU será usada. As imagens padrão do Docker (CPU ou GPU) serão usadas somente se um usuário não definir parâmetros e base_image ambosbase_dockerfile. Essa configuração é usada somente em destinos de computação habilitados para Docker. Confira https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection mais detalhes sobre base_image.

custom_docker_image
Obrigatório
str

O nome da imagem do Docker da qual a imagem a ser usada para treinamento será criada. Se não for definido, uma imagem baseada em CPU padrão será usada como a imagem base. Isso foi preterido e será removido em uma versão futura. Use base_image no DockerSection.

cran_packages
Obrigatório

Pacotes CRAN a serem instalados. Isso foi preterido e será removido em uma versão futura. Em vez disso, use RSection.cran_packages.

github_packages
Obrigatório

Pacotes do GitHub a serem instalados. Isso foi preterido e será removido em uma versão futura. Em vez disso, use RSection.github_packages.

custom_url_packages
Obrigatório

Pacotes a serem instalados de URL local, de diretório ou personalizado. Isso foi preterido e será removido em uma versão futura. Em vez disso, use RSection.custom_url_packages.

allow_reuse
Obrigatório

Indica se a etapa deve reutilizar os resultados anteriores ao executar novamente com as mesmas configurações. A reutilização é habilitada por padrão. Se o conteúdo da etapa (scripts/dependências), bem como entradas e parâmetros permanecerem inalterados, a saída da execução anterior desta etapa será reutilizado. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer etapas subsequentes. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada, não se os dados subjacentes foram alterados.

version
Obrigatório
str

Uma marca de versão opcional para indicar uma alteração na funcionalidade da etapa.

Comentários

Um RScriptStep é uma etapa básica e interna para executar o script R em um destino de computação. Ele usa um nome de script e outros parâmetros opcionais, como argumentos para o script, destino de computação, entradas e saídas. Você deve usar um RunConfiguration para especificar os requisitos para o RScriptStep, como a imagem personalizada do docker, os pacotes cran/github necessários.

A melhor prática para trabalhar com RScriptStep é usar uma pasta separada para scripts e quaisquer arquivos dependentes associados à etapa e especificar essa pasta com o source_directory parâmetro. Seguir essa prática recomendada tem dois benefícios. Primeiro, ele ajuda a reduzir o tamanho do instantâneo criado para a etapa, pois somente o que é necessário para a etapa é instantâneo. Em segundo lugar, a saída da etapa de uma execução anterior poderá ser reutilizado se não houver alterações no source_directory que dispararia um upload novamente do instantâneo.

O exemplo de código a seguir mostra como usar um RScriptStep em um cenário de treinamento de machine learning.


   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)

Confira https://aka.ms/pl-first-pipeline mais detalhes sobre como criar pipelines em geral. Confira https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.rsection mais detalhes sobre o RSection.

Métodos

create_node

Crie um nó para RScriptStep e adicione-o ao grafo especificado.

DEPRECADO. Use o CommandStep em vez disso. Para obter um exemplo , consulte Como executar scripts R em pipelines com CommandStep.

Esse método não se destina a ser usado diretamente. Quando um pipeline é instanciado com essa etapa, o Azure ML passa automaticamente os parâmetros necessários por meio desse método para que essa etapa possa ser adicionada a um grafo de pipeline que representa o fluxo de trabalho.

create_node

Crie um nó para RScriptStep e adicione-o ao grafo especificado.

DEPRECADO. Use o CommandStep em vez disso. Para obter um exemplo , consulte Como executar scripts R em pipelines com CommandStep.

Esse método não se destina a ser usado diretamente. Quando um pipeline é instanciado com essa etapa, o Azure ML passa automaticamente os parâmetros necessários por meio desse método para que essa etapa possa ser adicionada a um grafo de pipeline que representa o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

Nome Description
graph
Obrigatório

O objeto de grafo ao qual adicionar o nó.

default_datastore
Obrigatório

O armazenamento de dados padrão.

context
Obrigatório
<xref:azureml.pipeline.core._GraphContext>

O contexto do grafo.

Retornos

Tipo Description

O nó criado.