

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

# Interromper trabalhos de treinamento precocemente
<a name="automatic-model-tuning-early-stopping"></a>

Interrompa trabalhos de treinamento iniciados precocemente por um trabalho de ajuste de hiperparâmetros quando eles não estiverem melhorando significativamente, conforme medido pela métrica objetiva. A interrupção precoce de trabalhos de treinamento pode ajudar a reduzir o tempo de computação e ajuda a evitar o sobreajuste do seu modelo. Para configurar um trabalho de ajuste de hiperparâmetros para interromper trabalhos de treinamento antecipadamente, siga um destes procedimentos:
+ Se você estiver usando o AWS SDK para Python (Boto3), `TrainingJobEarlyStoppingType` defina o campo do objeto que você usa para configurar o trabalho [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTuningJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTuningJobConfig.html)de ajuste. `AUTO`
+ Se você estiver usando o [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable), defina o `early_stopping_type` parâmetro do [HyperParameterTuner](https://sagemaker.readthedocs.io/en/stable/tuner.html)objeto como. `Auto`
+ No console do Amazon SageMaker AI, no fluxo de trabalho **Create hyperparameter tuning job**, em **Early stop**, escolha **Auto**.

****Para ver um exemplo de caderno que demonstra como usar a parada antecipada, consulte [https://github.com/awslabs/amazon-sagemaker-examples/blob/master/hyperparameter\_tuning/image\_classification\_early\_stopping/hpo\_image\_classification\_early\_stopping.ipynb](https://github.com/awslabs/amazon-sagemaker-examples/blob/master/hyperparameter_tuning/image_classification_early_stopping/hpo_image_classification_early_stopping.ipynb) ou abra o notebook na seção Ajuste de hiperparâmetros dos exemplos de IA em uma instância de notebook. `hpo_image_classification_early_stopping.ipynb` SageMaker ****

## Como funciona a interrupção precoce
<a name="automatic-tuning-early-stop-how"></a>

Quando você ativa a parada antecipada para uma tarefa de ajuste de hiperparâmetros, a SageMaker IA avalia cada tarefa de treinamento que a tarefa de ajuste de hiperparâmetros inicia da seguinte forma:
+ Após cada epoch de treinamento, obtenha o valor da métrica objetiva.
+ Calcule a média de execução da métrica objetiva de todos os trabalhos de treinamento anteriores até o mesmo epoch e, em seguida, calcule a mediana de todas as médias de execução.
+ Se o valor da métrica objetiva para o trabalho de treinamento atual for pior (maior ao minimizar ou menor ao maximizar a métrica do objetivo) do que o valor médio das médias de execução da métrica do objetivo para trabalhos de treinamento anteriores até a mesma época, a SageMaker IA interrompe o trabalho de treinamento atual.

## Algoritmos que oferecem apoio para interrupção precoce
<a name="automatic-tuning-early-stopping-algos"></a>

Para oferece apoio à interrupção precoce, um algoritmo deve emitir métricas objetivas para cada epoch. Os seguintes algoritmos de SageMaker IA integrados oferecem suporte à interrupção antecipada:
+ [LightGBM](lightgbm.md)
+ [CatBoost](catboost.md)
+ [AutoGluon-Tabular](autogluon-tabular.md)
+ [TabTransformer](tabtransformer.md)
+ [Algoritmo de Aprendizagem linear](linear-learner.md): Compatível somente se você usar `objective_loss` como métrica objetiva.
+ [XGBoost algoritmo com Amazon SageMaker AI](xgboost.md)
+ [Classificação de imagens - MXNet](image-classification.md)
+ [Detecção de objetos - MXNet](object-detection.md)
+ [Sequence-to-Sequence Algoritimo](seq-2-seq.md)
+ [IP Insights](ip-insights.md)

**nota**  
Essa lista de algoritmos internos que oferecem apoio para interrupção precoce é atual desde 13 de dezembro de 2018. Outros algoritmos integrados poderão oferece apoio à interrupção precoce no futuro. Se um algoritmo emitir uma métrica que possa ser usada como uma métrica objetiva para um trabalho de ajuste de hiperparâmetros (preferencialmente uma métrica de validação), ele oferecerá compatibilidade com a interrupção precoce.

Para usar a interrupção precoce com seu próprio algoritmo, você deve escrever esse algoritmo de modo que ele emita o valor da métrica objetiva após cada epoch. A seguinte lista mostra como você pode fazer isso em diferentes estruturas:

TensorFlow  
Use a classe `tf.keras.callbacks.ProgbarLogger`. Para obter informações, consulte [tf.keras.callbacks. ProgbarLogger ](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/ProgbarLogger)API.

MXNet  
Use a `mxnet.callback.LogValidationMetricsCallback`. Para obter informações, consulte [mxnet.callback APIs](https://mxnet.apache.org/versions/master/api/python/docs/api/legacy/callback/index.html).

Chainer  
Estenda o Chainer usando a classe `extensions.Evaluator`. Para obter informações, consulte a [API Chainer.Training.Extensions.Evaluator](https://docs.chainer.org/en/v1.24.0/reference/extensions.html#evaluator).

PyTorch e Spark  
Não há compatibilidade de alto nível. Você deve escrever explicitamente seu código de treinamento para que ele calcule as métricas objetivas e as grave nos logs após cada epoch.