PythonScriptStep Classe
Cria um passo do Pipeline do Azure ML que executa o script python.
Para obter um exemplo de utilização do PythonScriptStep, consulte o bloco de notas https://aka.ms/pl-get-started.
Crie um passo do Pipeline do Azure ML que execute o script python.
- Herança
-
azureml.pipeline.core._python_script_step_base._PythonScriptStepBasePythonScriptStep
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
- arguments
- list
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
- Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
[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 na hora de criação do pipeline, poderá especificar uma cadeia de identificação do ("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
- RunConfiguration
A RunConfiguration opcional a utilizar. Uma RunConfiguration pode ser utilizada para especificar requisitos adicionais para a execução, como dependências de conda e uma imagem de docker. Se não for especificado, será criado um runconfig predefinido.
- runconfig_pipeline_params
- dict[str, PipelineParameter]
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
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Uma lista de enlaces de porta de entrada.
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Uma lista de enlaces de portas de saída.
- params
- dict
Um dicionário de pares name-value registados como variáveis de ambiente com "AML_PARAMETER_".
- source_directory
- str
Uma pasta que contém script python, env conda e outros recursos utilizados no passo.
- allow_reuse
- bool
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 será determinada se a definição do conjunto de dados foi alterada e não se os dados subjacentes foram alterados.
- version
- str
Uma etiqueta de versão opcional para denotar uma alteração na funcionalidade do passo.
- hash_paths
- list
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.
- arguments
- [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
- Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
[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 na hora de criação do pipeline, poderá especificar uma cadeia de identificação do ("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
- RunConfiguration
A RunConfiguration opcional a utilizar. A RunConfiguration pode ser utilizada para especificar requisitos adicionais para a execução, como dependências de conda e uma imagem de docker. Se não for especificado, será criado um runconfig predefinido.
- runconfig_pipeline_params
- dict[str, PipelineParameter]
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
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Uma lista de enlaces de porta de entrada.
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Uma lista de enlaces de portas de saída.
- params
- <xref:<xref:{str: str}>>
Um dicionário de pares nome-valor. Registado como variáveis de ambiente com ">>AML_PARAMETER_<<".
- source_directory
- str
Uma pasta que contém script python, env conda e outros recursos utilizados no passo.
- allow_reuse
- bool
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 será determinada se a definição do conjunto de dados foi alterada e não se os dados subjacentes foram alterados.
- version
- str
Uma etiqueta de versão opcional para denotar uma alteração na funcionalidade do passo.
- hash_paths
- list
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 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, como dependências de 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, a saída do passo de uma execução anterior pode ser reutilizada se não existirem alterações ao source_directory
que acionarão 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 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 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 represente o fluxo de trabalho.
create_node(graph, default_datastore, context)
Parâmetros
- default_datastore
- Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
O arquivo de dados predefinido.
- context
- <xref:azureml.pipeline.core._GraphContext>
O contexto do gráfico.
Devoluções
O nó criado.
Tipo de retorno
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários