

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

# Definir métricas de treinamento
<a name="define-train-metrics"></a>

SageMaker A IA analisa automaticamente os registros de tarefas de treinamento e envia métricas de treinamento para o. CloudWatch Por padrão, a SageMaker IA envia métricas de utilização de recursos do sistema listadas em [ SageMaker AI Jobs and Endpoint Metrics. ](https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-cloudwatch.html#cloudwatch-metrics-jobs) Se você quiser que a SageMaker IA analise registros e envie métricas personalizadas de um trabalho de treinamento de seu próprio algoritmo para CloudWatch, você precisa especificar definições de métricas passando o nome das métricas e expressões regulares ao configurar uma solicitação de trabalho de treinamento de SageMaker IA.

Você pode especificar as métricas que deseja monitorar usando o console de SageMaker IA, o SDK [ do ](https://github.com/aws/sagemaker-python-sdk) SageMaker AI Python ou a API de IA de baixo nível SageMaker .

Se estiver usando seu próprio algoritmo, faça o seguinte:
+ Certifique-se de que o algoritmo grave as métricas que você deseja capturar nos logs.
+ Defina uma expressão regular que pesquise com precisão os registros para capturar os valores das métricas para as quais você deseja enviar CloudWatch.

Por exemplo, suponhamos que o seu algoritmo emita as seguintes métricas de erro de treinamento e de validação:

```
Train_error=0.138318;  Valid_error=0.324557;
```

Se você quiser monitorar essas duas métricas em CloudWatch, o dicionário para as definições de métricas deve ter a aparência do exemplo a seguir:

```
[
    {
        "Name": "train:error",
        "Regex": "Train_error=(.*?);"
    },
    {
        "Name": "validation:error",
        "Regex": "Valid_error=(.*?);"
    }    
]
```

No regex da `train:error` métrica definida no exemplo anterior, a primeira parte do regex encontra o texto exato "Train\_error=” e a expressão `(.*?);` captura todos os caracteres até que o primeiro caractere de ponto e vírgula apareça. Nessa expressão, os parênteses informam ao regex para capturar o que está dentro deles, `.` significa qualquer caractere, `*` significa zero ou mais, e `?` significa capturar apenas até a primeira instância do caractere `;`.

## Defina métricas usando o SDK do SageMaker AI Python
<a name="define-train-metrics-sdk"></a>

Defina as métricas para as quais você deseja enviar CloudWatch especificando uma lista de definições de métricas em `AlgorithmSpecification` ao criar um `TrainingJob` uso`sagemaker-core`. Por exemplo, se você quiser monitorar as `validation:error` métricas `train:error` e em CloudWatch, sua `TrainingJob.create()` chamada teria a seguinte aparência:

```
from sagemaker.core.resources import TrainingJob
from sagemaker.core.shapes import (
    AlgorithmSpecification,
    MetricDefinition,
    ResourceConfig,
    OutputDataConfig,
    StoppingCondition,
)

TrainingJob.create(
    training_job_name="{{my-training-job}}",
    role_arn="{{arn:aws:iam::123456789012:role/SageMakerRole}}",
    algorithm_specification=AlgorithmSpecification(
        training_image="{{your-own-image-uri}}",
        training_input_mode="File",
        metric_definitions=[
            MetricDefinition(name="train:error", regex="Train_error=(.*?);"),
            MetricDefinition(name="validation:error", regex="Valid_error=(.*?);"),
        ],
    ),
    resource_config=ResourceConfig(
        instance_type="{{ml.c4.xlarge}}",
        instance_count={{1}},
        volume_size_in_gb={{30}},
    ),
    output_data_config=OutputDataConfig(s3_output_path="{{s3://bucket/output}}"),
    stopping_condition=StoppingCondition(max_runtime_in_seconds={{3600}}),
)
```

Para obter mais informações sobre treinamento usando o [ Amazon SageMaker Python SDK ](https://sagemaker.readthedocs.io/en/stable) ModelTrainers, consulte SDK do [ Sagemaker Python em. ](https://github.com/aws/sagemaker-python-sdk#sagemaker-python-sdk-overview) GitHub 

## Defina métricas usando o SageMaker AI Console
<a name="define-train-metrics-console"></a>

Se você escolher a ** opção ** Seu próprio contêiner de algoritmo no ECR como sua fonte de algoritmo no console de SageMaker IA ao criar um trabalho de treinamento, adicione as definições de ** métricas na ** seção Métricas. A captura de tela a seguir mostra como ela deve ficar depois de adicionar os nomes das métricas de exemplo e as expressões regulares correspondentes.

![Exemplo de formulário de Opções de algoritmo no console.](https://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/training-metrics-using-smconsole.png)


## Defina métricas usando a API Low-level SageMaker AI
<a name="define-train-metrics-api"></a>

Defina as métricas para as quais você deseja enviar CloudWatch especificando uma lista de nomes de métricas e expressões regulares no `MetricDefinitions` campo do parâmetro de [`AlgorithmSpecification`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html) entrada que você passa para a [`CreateTrainingJob`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) operação. Por exemplo, se você quiser monitorar as `validation:error` métricas `train:error` e em CloudWatch, você `AlgorithmSpecification` se pareceria com o seguinte exemplo:

```
"AlgorithmSpecification": {
    "TrainingImage": {{your-own-image-uri}},
    "TrainingInputMode": "File",
    "MetricDefinitions" : [
        {
            "Name": "train:error",
            "Regex": "Train_error=(.*?);"
        },
        {
            "Name": "validation:error",
            "Regex": "Valid_error=(.*?);"
        }
    ]
}
```

Para obter mais informações sobre como definir e executar um trabalho de treinamento usando a API de SageMaker IA de baixo nível, consulte [`CreateTrainingJob`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html).