Passe dados entre as etapas - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Passe dados entre as etapas

Ao criar pipelines com o Amazon SageMaker Pipelines, talvez seja necessário passar dados de uma etapa para a outra. Por exemplo, talvez você queira usar os artefatos do modelo gerados por uma etapa de treinamento como entrada para uma etapa de avaliação ou implantação do modelo. Você pode usar essa funcionalidade para criar etapas de pipeline interdependentes e criar seus fluxos de trabalho de ML.

Quando precisar recuperar informações da saída de uma etapa do pipeline, você pode usarJsonGet. JsonGetajuda você a extrair informações do Amazon S3 ou de arquivos de propriedades. As seções a seguir explicam os métodos que você pode usar para extrair as saídas JsonGet das etapas.

Transmita dados entre etapas com o Amazon S3

Você pode usar JsonGet in a ConditionStep para obter a JSON saída diretamente do Amazon S3. O Amazon S3 URI pode ser uma Std:Join função contendo cadeias de caracteres primitivas, variáveis de execução do pipeline ou parâmetros do pipeline. O exemplo a seguir mostra como você pode usar JsonGet em umConditionStep:

# Example json file in s3 bucket generated by a processing_step { "Output": [5, 10] } cond_lte = ConditionLessThanOrEqualTo( left=JsonGet( step_name="<step-name>", s3_uri="<s3-path-to-json>", json_path="Output[1]" ), right=6.0 )

Se você estiver usando JsonGet com um caminho do Amazon S3 na etapa de condição, deverá adicionar explicitamente uma dependência entre a etapa de condição e a etapa que gera a saída. JSON No exemplo a seguir, a etapa de condição é criada com uma dependência da etapa de processamento:

cond_step = ConditionStep( name="<step-name>", conditions=[cond_lte], if_steps=[fail_step], else_steps=[register_model_step], depends_on=[processing_step], )

Passe dados entre etapas com arquivos de propriedades

Use arquivos de propriedades para armazenar informações da saída de uma etapa de processamento. Isso é particularmente útil ao analisar os resultados de uma etapa de processamento para decidir como uma etapa condicional deve ser executada. A JsonGet função processa um arquivo de propriedades e permite que você use a JsonPath notação para consultar o JSON arquivo de propriedades. Para obter mais informações sobre JsonPath notação, consulte o JsonPath repositório.

Para armazenar um arquivo de propriedades para uso posterior, primeiro você deve criar uma instância PropertyFile com o formato a seguir. O path parâmetro é o nome do JSON arquivo no qual o arquivo de propriedades é salvo. Qualquer um output_name deve corresponder ao output_name do ProcessingOutput que você define em sua etapa de processamento. Isso permite que o arquivo de propriedades capture o ProcessingOutput na etapa.

from sagemaker.workflow.properties import PropertyFile <property_file_instance> = PropertyFile( name="<property_file_name>", output_name="<processingoutput_output_name>", path="<path_to_json_file>" )

Ao criar sua ProcessingStep instância, adicione o property_files parâmetro para listar todos os arquivos de parâmetros que o serviço Amazon SageMaker Pipelines deve indexar. Isso salva o arquivo de propriedades para uso posterior.

property_files=[<property_file_instance>]

Para usar seu arquivo de propriedades em uma etapa de condição, adicione-a property_file à condição que você passa para sua etapa de condição, conforme mostrado no exemplo a seguir, para consultar o JSON arquivo da propriedade desejada usando o json_path parâmetro.

cond_lte = ConditionLessThanOrEqualTo( left=JsonGet( step_name=step_eval.name, property_file=<property_file_instance>, json_path="mse" ), right=6.0 )

Para obter exemplos mais detalhados, consulte Arquivo de propriedades no Amazon SageMaker Python SDK.