

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

# Solução de problemas do Amazon SageMaker Pipelines
<a name="pipelines-troubleshooting"></a>

Ao usar o Amazon SageMaker Pipelines, você pode ter problemas por vários motivos. Este tópico fornece informações sobre erros comuns e como resolvê-los. 

 **Problemas de definição de pipeline** 

Sua definição de pipeline pode não estar formatada corretamente. Isso pode resultar na falha de execução  ou na imprecisão do trabalho. Esses erros podem ser detectados quando o pipeline é criado ou quando ocorre uma execução. Se sua definição não for validada, o Pipelines retornará uma mensagem de erro identificando o caractere em que o arquivo JSON está malformado. Para corrigir esse problema, revise as etapas criadas usando o SDK do SageMaker AI Python para verificar a precisão. 

Você só pode incluir etapas em uma definição de pipeline uma vez. Por esse motivo, as etapas não podem existir como parte de uma etapa de condição *e* de um pipeline no mesmo pipeline. 

 **Examinar logs de pipeline** 

Você pode visualizar o status das suas etapas usando o seguinte comando: 

```
execution.list_steps()
```

Cada etapa inclui as seguintes informações:
+ O ARN da entidade lançada pelo pipeline, como o ARN do trabalho de SageMaker IA, o ARN do modelo ou o ARN do pacote de modelos. 
+ O motivo da falha inclui uma breve explicação da falha na etapa.
+ Se a etapa for uma etapa de condição, ela indicará se a condição foi avaliada como verdadeira ou falsa.  
+ Se a execução reutilizar uma execução de trabalho anterior, o `CacheHit` listará a execução de origem.  

Você também pode visualizar as mensagens de erro e os registros na interface do Amazon SageMaker Studio. Para obter informações sobre como ver os logs no Studio, consulte [Visualizar os detalhes de uma execução de pipeline](pipelines-studio-view-execution.md).

 **Permissões ausentes** 

As permissões corretas são necessárias para o perfil que cria a execução do pipeline e as etapas que criam cada um dos trabalhos na execução do pipeline. Sem essas permissões, talvez você não consiga enviar a execução do pipeline ou executar seus trabalhos de SageMaker IA conforme o esperado. Para garantir que suas permissões sejam configuradas corretamente, consulte [Gerenciamento de acesso do IAM](build-and-manage-access.md). 

 **Erros de execução do trabalho** 

Você pode ter problemas ao executar suas etapas devido a problemas nos scripts que definem a funcionalidade de suas tarefas de SageMaker IA. Cada trabalho tem um conjunto de CloudWatch registros. Para ver esses registros do Studio, consulte[Visualizar os detalhes de uma execução de pipeline](pipelines-studio-view-execution.md). Para obter informações sobre o uso de CloudWatch registros com SageMaker IA, consulte[CloudWatch Registros para Amazon SageMaker AI](logging-cloudwatch.md). 

 **Erros do arquivo de propriedade** 

Você pode ter problemas ao implantar incorretamente os arquivos de propriedades com seu pipeline. Para garantir que sua implantação de arquivos de propriedades funcione conforme o esperado, consulte [Passe dados entre etapas](build-and-manage-propertyfile.md). 

 **Problemas ao copiar o script para o contêiner no Dockerfile** 

Você pode copiar o script para o contêiner ou passá-lo por meio do argumento `entry_point` (da entidade estimadora) ou do argumento `code` (da entidade processadora), conforme demonstrado no exemplo de código a seguir.

```
step_process = ProcessingStep(
    name="PreprocessAbaloneData",
    processor=sklearn_processor,
    inputs = [
        ProcessingInput(
            input_name='dataset',
            source=...,
            destination="/opt/ml/processing/code",
        )
    ],
    outputs=[
        ProcessingOutput(output_name="train", source="/opt/ml/processing/train", destination = processed_data_path),
        ProcessingOutput(output_name="validation", source="/opt/ml/processing/validation", destination = processed_data_path),
        ProcessingOutput(output_name="test", source="/opt/ml/processing/test", destination = processed_data_path),
    ],
    code=os.path.join(BASE_DIR, "process.py"), ## Code is passed through an argument
    cache_config = cache_config,
    job_arguments = ['--input', 'arg1']
)

sklearn_estimator = SKLearn(
    entry_point=os.path.join(BASE_DIR, "train.py"), ## Code is passed through the entry_point
    framework_version="0.23-1",
    instance_type=training_instance_type,
    role=role,
    output_path=model_path, # New
    sagemaker_session=sagemaker_session, # New
    instance_count=1, # New
    base_job_name=f"{base_job_prefix}/pilot-train",
    metric_definitions=[
        {'Name': 'train:accuracy', 'Regex': 'accuracy_train=(.*?);'},
        {'Name': 'validation:accuracy', 'Regex': 'accuracy_validation=(.*?);'}
    ],
)
```