PythonScriptStep Classe

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

Para um exemplo de utilização do PythonScriptStep, consulte o caderno https://aka.ms/pl-get-started .

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

script_name
<xref:str>

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

name
<xref:str>

O nome do degrau. Se não for especificado, script_name é usado.

arguments
<xref:list>

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

compute_target
<xref:typing.Union>[<xref:azureml.core.compute.DsvmCompute,azureml.core.compute.AmlCompute,azureml.core.compute.RemoteCompute,azureml.core.compute.HDInsightCompute,str,tuple>]

[Obrigatório] O alvo de computação a ser usado. Se não for especificado, o alvo do runconfig será usado. Este parâmetro pode ser especificado como um objeto-alvo de computação ou o nome de cadeia de um alvo de cálculo no espaço de trabalho. Opcionalmente, se o alvo do cálculo não estiver disponível no tempo de criação do gasoduto, pode especificar um tuple de ('nome-alvo de computação', 'tipo de alvo de computação') para evitar a procura do objeto alvo do cálculo (o tipo AmlCompute é 'AmlCompute' e o tipo RemoteCompute é 'VirtualMachine').

runconfig
RunConfiguration

A configuração opcional runconfiguration para usar. Uma Configuração run pode ser usada para especificar requisitos adicionais para a execução, tais como dependências de conda e uma imagem de estivador. Se não for especificado, será criado um runconfig padrão.

runconfig_pipeline_params
<xref:dict>[<xref:str>, PipelineParameter]

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

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

inputs
<xref:list>[<xref:typing.Union>[<xref:azureml.pipeline.core.graph.InputPortBinding,azureml.data.data_reference.DataReference,azureml.pipeline.core.PortDataReference,azureml.pipeline.core.builder.PipelineData,azureml.pipeline.core.pipeline_output_dataset.PipelineOutputFileDataset,azureml.pipeline.core.pipeline_output_dataset.PipelineOutputTabularDataset,azureml.data.dataset_consumption_config.DatasetConsumptionConfig>]]

Uma lista de encadernações portuárias de entrada.

outputs
<xref:list>[<xref:typing.Union>[<xref:azureml.pipeline.core.builder.PipelineData,azureml.data.output_dataset_config.OutputDatasetConfig,azureml.pipeline.core.pipeline_output_dataset.PipelineOutputFileDataset,azureml.pipeline.core.pipeline_output_dataset.PipelineOutputTabularDataset,azureml.pipeline.core.graph.OutputPortBinding>]]

Uma lista de encadernações portuárias de saída.

params
<xref:dict>

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

source_directory
<xref:str>

Uma pasta que contém script Python, conda env, e outros recursos usados no degrau.

allow_reuse
<xref:bool>

Indica se o passo deve reutilizar os resultados anteriores quando re-executar com as mesmas definições. A reutilização é ativada por defeito. Se o conteúdo do passo (scripts/dependências) bem como as entradas e parâmetros permanecerem inalterados, a saída do percurso anterior deste passo é reutilizada. Ao reutilizar o passo, em vez de submeter o trabalho a computar, os resultados da execução anterior são imediatamente disponibilizados para quaisquer etapas subsequentes. Se utilizar Azure Machine Learning conjuntos de dados como entradas, a reutilização é determinada se a definição do conjunto de dados mudou, não se os dados subjacentes mudaram.

version
<xref:str>

Uma etiqueta de versão opcional para denotar uma mudança de funcionalidade para o passo.

hash_paths
<xref:list>

Deprecado: 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 houver alterações detetadas, o gasoduto 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 e incorporado para executar um Python Script num alvo 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 alvo de cálculo, é utilizado o alvo de computação padrão para o espaço de trabalho. Também pode utilizar um RunConfiguration para especificar os requisitos para o PythonScriptStep, como dependências de conda e imagem de estivador.

A melhor prática para trabalhar com o 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 boa prática tem dois benefícios. 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, a saída do passo de uma execução anterior pode ser reutilizada se não houver alterações no source_directory que desencadearia um re upload do instantâneo.

O exemplo de código que se segue mostra a utilização de um PythonScriptStep num cenário de treino de aprendizagem automática. Para mais detalhes sobre este exemplo, https://aka.ms/pl-first-pipeline consulte.


   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
   )

Os PythonScriptSteps suportam uma série de tipos de entrada e saída. Estes incluem DatasetConsumptionConfig entradas e entradas e entradas e OutputDatasetConfig PipelineOutputAbstractDataset PipelineData saídas.

Abaixo está um exemplo de utilização Dataset como entrada e saída de passo:


   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)

Por favor, consulte as páginas de documentação correspondentes para 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 gasoduto é instantâneo com este passo, o Azure ML passa 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 represente 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 gasoduto é instantâneo com este passo, o Azure ML passa 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 represente o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

graph
Graph

O objeto gráfico para adicionar o nó.

default_datastore
<xref:typing.Union>[<xref:azureml.data.azure_storage_datastore.AbstractAzureStorageDatastore,azureml.data.azure_data_lake_datastore.AzureDataLakeDatastore>]

A loja de dados predefinido.

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

O contexto gráfico.

Devoluções

O nó criado.

Tipo de retorno