Partilhar via


RScriptStep Classe

Observação

Esta é uma aula 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 execute o script R.

PRETERIDO. 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

Name Description
script_name
Necessário
str

[Obrigatório] O nome de um script R relativo a source_directory.

name
Necessário
str

O nome da etapa. Se não especificado, script_name é usado.

arguments
Necessário

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

compute_target
Necessá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 espaço de trabalho. Opcionalmente, se o destino de computação não estiver disponível no momento da criação do pipeline, você pode especificar uma tupla de ('nome do 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
Necessá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. O RSection é necessário para esta etapa.

runconfig_pipeline_params
Necessário

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

Valores suportados: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
Necessário

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

outputs
Necessário

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

params
Necessário

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

source_directory
Necessário
str

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

use_gpu
Necessário

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

custom_docker_image
Necessário
str

O nome da imagem do Docker a partir da qual a imagem a ser usada para treinamento será construída. Se não estiver definida, uma imagem padrão baseada em CPU será usada como imagem base. Isso foi preterido e será removido em uma versão futura. Em vez disso, use base_image na DockerSection.

cran_packages
Necessário

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

github_packages
Necessário

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

custom_url_packages
Necessário

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

allow_reuse
Necessário

Indica se a etapa deve reutilizar os resultados anteriores ao ser executada novamente com as mesmas configurações. A reutilização está ativada por predefinição. Se o conteúdo da etapa (scripts/dependências), bem como as entradas e os parâmetros permanecerem inalterados, a saída da execução anterior desta etapa será reutilizada. 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 Aprendizado de Máquina do Azure 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
Necessário
str

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

script_name
Necessário
str

[Obrigatório] O nome de um script R relativo a source_directory.

name
Necessário
str

O nome da etapa. Se não especificado, script_name é usado.

arguments
Necessário

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

compute_target
Necessá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 espaço de trabalho. Opcionalmente, se o destino de computação não estiver disponível no momento da criação do pipeline, você pode especificar uma tupla de ('nome do 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
Necessá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. O RSection é necessário para esta etapa.

runconfig_pipeline_params
Necessário

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

Valores suportados: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
Necessário

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

outputs
Necessário

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

params
Necessário

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

source_directory
Necessário
str

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

use_gpu
Necessário

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

custom_docker_image
Necessário
str

O nome da imagem do Docker a partir da qual a imagem a ser usada para treinamento será construída. Se não estiver definida, uma imagem padrão baseada em CPU será usada como imagem base. Isso foi preterido e será removido em uma versão futura. Em vez disso, use base_image na DockerSection.

cran_packages
Necessário

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

github_packages
Necessário

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

custom_url_packages
Necessário

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

allow_reuse
Necessário

Indica se a etapa deve reutilizar os resultados anteriores ao ser executada novamente com as mesmas configurações. A reutilização está ativada por predefinição. Se o conteúdo da etapa (scripts/dependências), bem como as entradas e os parâmetros permanecerem inalterados, a saída da execução anterior desta etapa será reutilizada. 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 Aprendizado de Máquina do Azure 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
Necessário
str

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

Observações

Um RScriptStep é uma etapa básica e integrada 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 a RunConfiguration para especificar requisitos para o RScriptStep, como imagem docker personalizada, pacotes cran/github necessários.

A prática recomendada 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 esta boa prática tem duas vantagens. Primeiro, ele ajuda a reduzir o tamanho do instantâneo criado para a etapa, pois apenas o que é necessário para a etapa é instantâneo. Em segundo lugar, a saída da etapa de uma execução anterior pode ser reutilizada se não houver alterações na source_directory que acionariam um recarregamento do instantâneo.

O exemplo de código a seguir mostra como usar um RScriptStep em um cenário de treinamento de aprendizado de máquina.


   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)

Consulte https://aka.ms/pl-first-pipeline para obter mais detalhes sobre a criação de pipelines em geral. Consulte https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.rsection para obter mais detalhes sobre RSection.

Métodos

create_node

Crie um nó para RScriptStep e adicione-o ao gráfico especificado.

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

Este método não se destina a ser utilizado 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 gráfico de pipeline que representa o fluxo de trabalho.

create_node

Crie um nó para RScriptStep e adicione-o ao gráfico especificado.

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

Este método não se destina a ser utilizado 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 gráfico de pipeline que representa o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

Name Description
graph
Necessário

O objeto gráfico ao qual adicionar o nó.

default_datastore
Necessário

O armazenamento de dados padrão.

context
Necessário
<xref:azureml.pipeline.core._GraphContext>

O contexto do gráfico.

Devoluções

Tipo Description

O nó criado.