

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

# Configuração uma política de nova tentativa
<a name="pipelines-configuring-retry-policy"></a>

Embora os SageMaker Pipelines forneçam uma maneira robusta e automatizada de orquestrar fluxos de trabalho de aprendizado de máquina, você pode encontrar falhas ao executá-los. Para lidar com esses cenários de forma tranquila e melhorar a confiabilidade de seus pipelines, você pode configurar políticas de repetição que definam como e quando repetir automaticamente etapas específicas após encontrar uma exceção. A política de repetição permite que você especifique os tipos de exceções a serem repetidas, o número máximo de tentativas, o intervalo entre as tentativas e a taxa de espera para aumentar os intervalos de repetição. A seção a seguir fornece exemplos de como configurar uma política de repetição para uma etapa de treinamento em seu pipeline, tanto em JSON quanto usando o SDK do Python SageMaker .

Veja a seguir um exemplo de uma etapa de treinamento com uma política de nova tentativa.

```
{
    "Steps": [
        {
            "Name": "{{MyTrainingStep}}",
            "Type": "Training",
            "RetryPolicies": [
                {
                    "ExceptionType": [
                        "{{SageMaker.JOB_INTERNAL_ERROR}}",
                        "{{SageMaker.CAPACITY_ERROR}}"
                    ],
                    "IntervalSeconds": {{1}},
                    "BackoffRate": {{2}},
                    "MaxAttempts": {{5}}
                }
            ]
        }
    ]
}
```



Veja a seguir um exemplo de como criar um SDK `TrainingStep` in para Python (Boto3) com uma política de nova tentativa.

```
from sagemaker.workflow.retry import (
    StepRetryPolicy, 
    StepExceptionTypeEnum,
    SageMakerJobExceptionTypeEnum,
    SageMakerJobStepRetryPolicy
)

step_train = TrainingStep(
    name="{{MyTrainingStep}}",
    xxx,
    retry_policies=[
        // override the default 
        StepRetryPolicy(
            exception_types=[
                {{StepExceptionTypeEnum.SERVICE_FAULT}}, 
                {{StepExceptionTypeEnum.THROTTLING}}
            ],
            expire_after_mins={{5}},
            interval_seconds={{10}},
            backoff_rate={{2.0}} 
        ),
        // retry when resource limit quota gets exceeded
        SageMakerJobStepRetryPolicy(
            exception_types=[{{SageMakerJobExceptionTypeEnum.RESOURCE_LIMIT}}],
            expire_after_mins={{120}},
            interval_seconds={{60}},
            backoff_rate={{2.0}}
        ),
        // retry when job failed due to transient error or EC2 ICE.
        SageMakerJobStepRetryPolicy(
            failure_reason_types=[
                {{SageMakerJobExceptionTypeEnum.INTERNAL_ERROR}},
                {{SageMakerJobExceptionTypeEnum.CAPACITY_ERROR}},
            ],
            max_attempts={{10}},
            interval_seconds={{30}},
            backoff_rate={{2.0}}
        )
    ]
)
```

Para obter mais informações sobre como configurar o comportamento de repetição para determinados tipos de etapas, consulte *[Amazon SageMaker Pipelines - Retry Policy na](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_model_building_pipeline.html#retry-policy)* documentação do Amazon Python SageMaker SDK.