PythonScriptStep Classe

Cria um passo do Pipeline do Azure ML que executa o script do Python.

Para obter um exemplo de como utilizar PythonScriptStep, consulte o bloco de notas https://aka.ms/pl-get-started.

Crie um passo do Pipeline do Azure ML que execute o script do Python.

Herança
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
PythonScriptStep

Construtor

PythonScriptStep(script_name, name=None, arguments=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None, hash_paths=None)

Parâmetros

Name Description
script_name
Necessário
str

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

name
str

O nome do passo. Se não for especificado, script_name é utilizado.

Default value: None
arguments

Argumentos da linha de comandos para o ficheiro de script python. Os argumentos serão transmitidos à computação através do arguments parâmetro em RunConfiguration. Para obter mais detalhes sobre como lidar com argumentos como símbolos especiais, consulte .RunConfiguration

Default value: None
compute_target

[Obrigatório] O destino de computação a utilizar. Se não for especificado, será utilizado o destino do runconfig. Este parâmetro pode ser especificado como um objeto de destino de computação ou o nome da cadeia de carateres de um destino de computação na área de trabalho. Opcionalmente, se o destino de computação não estiver disponível no momento da criação do pipeline, poderá especificar uma cadeia de identificação de ("nome de destino de computação", "tipo de destino de computação") para evitar obter o objeto de destino de computação (o tipo AmlCompute é "AmlCompute" e o tipo RemoteCompute é "VirtualMachine").

Default value: None
runconfig

A RunConfiguration opcional a utilizar. Uma RunConfiguration pode ser utilizada para especificar requisitos adicionais para a execução, como dependências conda e uma imagem do docker. Se não for especificado, será criado um runconfig predefinido.

Default value: None
runconfig_pipeline_params

Substituições de propriedades de runconfig no runtime através de pares chave-valor cada uma com o nome da propriedade runconfig e PipelineParameter para essa propriedade.

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

Default value: None
inputs

Uma lista de enlaces de portas de entrada.

Default value: None
outputs

Uma lista de enlaces de portas de saída.

Default value: None
params

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

Default value: None
source_directory
str

Uma pasta que contém script python, conda env e outros recursos utilizados no passo.

Default value: None
allow_reuse

Indica se o passo deve reutilizar os resultados anteriores ao executar novamente com as mesmas definições. A reutilização está ativada por predefinição. Se o conteúdo do passo (scripts/dependências), bem como as entradas e os parâmetros permanecerem inalterados, o resultado da execução anterior deste passo será reutilizado. Ao reutilizar o passo, em vez de submeter a tarefa para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer passos subsequentes. Se utilizar conjuntos de dados do Azure Machine Learning como entradas, a reutilização é determinada se a definição do conjunto de dados foi alterada e não se os dados subjacentes foram alterados.

Default value: True
version
str

Uma etiqueta de versão opcional para denotar uma alteração na funcionalidade do passo.

Default value: None
hash_paths

PRETERIDO: já não é necessário.

Uma lista de caminhos para hash ao verificar se existem alterações nos conteúdos do passo. Se não forem detetadas alterações, o pipeline reutilizará o conteúdo do passo de uma execução anterior. Por predefinição, os conteúdos de source_directory são transformados em hash, à exceção dos ficheiros listados em .amlignoree ou .gitignore.

Default value: None
script_name
Necessário
str

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

name
Necessário
str

O nome do passo. Se não for especificado, script_name é utilizado.

arguments
Necessário
[str]

Argumentos da linha de comandos para o ficheiro de script python. Os argumentos serão transmitidos à computação através do arguments parâmetro em RunConfiguration. Para obter mais detalhes sobre como lidar com argumentos como símbolos especiais, consulte .RunConfiguration

compute_target
Necessário

[Obrigatório] O destino de computação a utilizar. Se não for especificado, será utilizado o destino do runconfig. Este parâmetro pode ser especificado como um objeto de destino de computação ou o nome da cadeia de carateres de um destino de computação na área de trabalho. Opcionalmente, se o destino de computação não estiver disponível no momento da criação do pipeline, poderá especificar uma cadeia de identificação de ("nome de destino de computação", "tipo de destino de computação") para evitar obter o objeto de destino de computação (o tipo AmlCompute é "AmlCompute" e o tipo RemoteCompute é "VirtualMachine").

runconfig
Necessário

A RunConfiguration opcional a utilizar. A RunConfiguration pode ser utilizada para especificar requisitos adicionais para a execução, como dependências conda e uma imagem do docker. Se não for especificado, será criado um runconfig predefinido.

runconfig_pipeline_params
Necessário

Substituições de propriedades de runconfig no runtime através de pares chave-valor cada uma com o nome da propriedade runconfig e PipelineParameter para essa propriedade.

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

inputs
Necessário

Uma lista de enlaces de portas de entrada.

outputs
Necessário

Uma lista de enlaces de portas de saída.

params
Necessário
<xref:<xref:{str: str}>>

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

source_directory
Necessário
str

Uma pasta que contém script python, conda env e outros recursos utilizados no passo.

allow_reuse
Necessário

Indica se o passo deve reutilizar os resultados anteriores ao executar novamente com as mesmas definições. A reutilização está ativada por predefinição. Se o conteúdo do passo (scripts/dependências), bem como as entradas e os parâmetros permanecerem inalterados, o resultado da execução anterior deste passo será reutilizado. Ao reutilizar o passo, em vez de submeter a tarefa para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer passos subsequentes. Se utilizar conjuntos de dados do Azure Machine Learning como entradas, a reutilização é determinada se a definição do conjunto de dados foi alterada e não se os dados subjacentes foram alterados.

version
Necessário
str

Uma etiqueta de versão opcional para denotar uma alteração na funcionalidade do passo.

hash_paths
Necessário

PRETERIDO: já não é necessário.

Uma lista de caminhos para hash ao verificar se existem alterações nos conteúdos do passo. Se não forem detetadas alterações, o pipeline reutilizará o conteúdo do passo de uma execução anterior. Por predefinição, os conteúdos de source_directory são transformados em hash, à exceção dos ficheiros listados em .amlignoree ou .gitignore.

Observações

Um PythonScriptStep é um passo básico incorporado para executar um Script de Python num destino de computação. Utiliza o nome do script e outros parâmetros opcionais, como argumentos, o destino de computação, as entradas e as saídas. Se não for especificado nenhum destino de computação, é utilizado o destino de computação predefinido para a área de trabalho. Também pode utilizar um RunConfiguration para especificar os requisitos do PythonScriptStep, tais como dependências conda e imagem do docker.

A melhor prática para trabalhar com PythonScriptStep é utilizar uma pasta separada para scripts e quaisquer ficheiros dependentes associados ao passo e especificar essa pasta com o source_directory parâmetro . Seguir esta melhor prática tem duas vantagens. Em primeiro lugar, ajuda a reduzir o tamanho do instantâneo criado para o passo, porque apenas o que é necessário para o passo é instantâneo. Em segundo lugar, o resultado do passo de uma execução anterior pode ser reutilizado se não existirem alterações no source_directory que acionem um novo carregamento do instantâneo.

O exemplo de código seguinte mostra a utilização de um PythonScriptStep num cenário de preparação de machine learning. Para obter mais detalhes sobre este exemplo, consulte https://aka.ms/pl-first-pipeline.


   from azureml.pipeline.steps import PythonScriptStep

   trainStep = PythonScriptStep(
       script_name="train.py",
       arguments=["--input", blob_input_data, "--output", output_data1],
       inputs=[blob_input_data],
       outputs=[output_data1],
       compute_target=compute_target,
       source_directory=project_folder
   )

O PythonScriptSteps suporta vários tipos de entrada e saída. Estes incluem DatasetConsumptionConfig entradas e OutputDatasetConfig, PipelineOutputAbstractDatasete PipelineData para entradas e saídas.

Segue-se um exemplo de utilização Dataset como entrada e saída de passos:


   from azureml.core import Dataset
   from azureml.pipeline.steps import PythonScriptStep
   from azureml.pipeline.core import Pipeline, PipelineData

   # get input dataset
   input_ds = Dataset.get_by_name(workspace, 'weather_ds')

   # register pipeline output as dataset
   output_ds = PipelineData('prepared_weather_ds', datastore=datastore).as_dataset()
   output_ds = output_ds.register(name='prepared_weather_ds', create_new_version=True)

   # configure pipeline step to use dataset as the input and output
   prep_step = PythonScriptStep(script_name="prepare.py",
                                inputs=[input_ds.as_named_input('weather_ds')],
                                outputs=[output_ds],
                                compute_target=compute_target,
                                source_directory=project_folder)

Veja as páginas de documentação correspondentes para obter exemplos de utilização de outros tipos de entrada/saída.

Métodos

create_node

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

Este método não se destina a ser utilizado diretamente. Quando um pipeline é instanciado com este passo, o Azure ML transmite automaticamente os parâmetros necessários através deste método para que esse passo possa ser adicionado a um gráfico de pipeline que representa o fluxo de trabalho.

create_node

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

Este método não se destina a ser utilizado diretamente. Quando um pipeline é instanciado com este passo, o Azure ML transmite automaticamente os parâmetros necessários através deste método para que esse passo possa ser adicionado 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 de gráfico ao que adicionar o nó.

default_datastore
Necessário

O arquivo de dados predefinido.

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

O contexto do gráfico.

Devoluções

Tipo Description

O nó criado.