

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

# Como acessar as métricas de avaliação (SDK) do Amazon Rekognition Custom Labels
<a name="im-metrics-api"></a>

A [DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions)operação fornece acesso a métricas além das fornecidas no console. 

Assim como o console, `DescribeProjectVersions` fornece acesso às seguintes métricas como informações resumidas dos resultados do teste e como resultados do teste para cada rótulo:
+ [Precisão](im-metrics-use.md#im-precision-metric)
+ [Recall](im-metrics-use.md#im-recall-metric)
+ [F1](im-metrics-use.md#im-f1-metric)

O limite médio para todas os rótulos e o limite para rótulos individuais são retornados.

`DescribeProjectVersions` também fornece acesso às seguintes métricas para a classificação e detecção de imagens (localização do objeto na imagem).
+ *Matriz de confusão* para a classificação de imagens. Para obter mais informações, consulte [Como visualizar a matriz de confusão para um modelo](im-confusion-matrix.md).
+ *Precisão média (mAP)* para a detecção de imagens.
+ *Recall médio (mAR)* para a detecção de imagens.

`DescribeProjectVersions` também fornece acesso a valores verdadeiros positivos, falsos positivos, falsos negativos e verdadeiros negativos. Para obter mais informações, consulte [Métricas para avaliar seu modelo](im-metrics-use.md).

A métrica de pontuação F1 agregada é retornada diretamente por `DescribeProjectVersions`. Outras métricas podem ser acessadas de arquivos de [Acessar o arquivo de resumo do modelo](im-summary-file-api.md) e [Interpretar o snapshot do manifesto de avaliação](im-evaluation-manifest-snapshot-api.md) armazenados em um bucket do Amazon S3. Para obter mais informações, consulte [Como acessar o arquivo de resumo e o snapshot do manifesto de avaliação (SDK)](im-access-summary-evaluation-manifest.md).

**Topics**
+ [Acessar o arquivo de resumo do modelo](im-summary-file-api.md)
+ [Interpretar o snapshot do manifesto de avaliação](im-evaluation-manifest-snapshot-api.md)
+ [Como acessar o arquivo de resumo e o snapshot do manifesto de avaliação (SDK)](im-access-summary-evaluation-manifest.md)
+ [Como visualizar a matriz de confusão para um modelo](im-confusion-matrix.md)
+ [Referência: arquivo de resumo dos resultados do treinamento](im-summary-file.md)

# Acessar o arquivo de resumo do modelo
<a name="im-summary-file-api"></a>

O arquivo de resumo contém informações sobre os resultados da avaliação sobre o modelo como um todo e as métricas de cada rótulo. As métricas são precisão, recall, pontuação F1. O valor limite para o modelo também é fornecido. O local do arquivo de resumo pode ser acessado a partir do objeto `EvaluationResult` retornado por `DescribeProjectVersions`. Para obter mais informações, consulte [Referência: arquivo de resumo dos resultados do treinamento](im-summary-file.md).

Veja a seguir um exemplo de arquivo de resumo.

```
{
  "Version": 1,
  "AggregatedEvaluationResults": {
    "ConfusionMatrix": [
      {
        "GroundTruthLabel": "CAP",
        "PredictedLabel": "CAP",
        "Value": 0.9948717948717949
      },
      {
        "GroundTruthLabel": "CAP",
        "PredictedLabel": "WATCH",
        "Value": 0.008547008547008548
      },
      {
        "GroundTruthLabel": "WATCH",
        "PredictedLabel": "CAP",
        "Value": 0.1794871794871795
      },
      {
        "GroundTruthLabel": "WATCH",
        "PredictedLabel": "WATCH",
        "Value": 0.7008547008547008
      }
    ],
    "F1Score": 0.9726959470546408,
    "Precision": 0.9719115848331294,
    "Recall": 0.9735042735042735
  },
  "EvaluationDetails": {
    "EvaluationEndTimestamp": "2019-11-21T07:30:23.910943",
    "Labels": [
      "CAP",
      "WATCH"
    ],
    "NumberOfTestingImages": 624,
    "NumberOfTrainingImages": 5216,
    "ProjectVersionArn": "arn:aws:rekognition:us-east-1:nnnnnnnnn:project/my-project/version/v0/1574317227432"
  },
  "LabelEvaluationResults": [
    {
      "Label": "CAP",
      "Metrics": {
        "F1Score": 0.9794344473007711,
        "Precision": 0.9819587628865979,
        "Recall": 0.9769230769230769,
        "Threshold": 0.9879502058029175
      },
      "NumberOfTestingImages": 390
    },
    {
      "Label": "WATCH",
      "Metrics": {
        "F1Score": 0.9659574468085106,
        "Precision": 0.961864406779661,
        "Recall": 0.9700854700854701,
        "Threshold": 0.014450683258473873
      },
      "NumberOfTestingImages": 234
    }
  ]
}
```

# Interpretar o snapshot do manifesto de avaliação
<a name="im-evaluation-manifest-snapshot-api"></a>

O snapshot do manifesto de avaliação contém informações detalhadas sobre os resultados do teste. O snapshot inclui a classificação de confiança de cada previsão. Também inclui a classificação da previsão em comparação com a classificação real da imagem (verdadeiro positivo, verdadeiro negativo, falso positivo ou falso negativo). 

Os arquivos são um snapshot, pois somente imagens que podem ser usadas para teste e treinamento estão incluídas. As imagens que não podem ser verificadas, como imagens no formato errado, não são incluídas no manifesto. O local do snapshot de teste pode ser acessado a partir do objeto `TestingDataResult` retornado por `DescribeProjectVersions`. O local do snapshot de treinamento pode ser acessado a partir do objeto `TrainingDataResult` retornado por `DescribeProjectVersions`. 

O instantâneo está no formato de saída do manifesto SageMaker AI Ground Truth com campos adicionados para fornecer informações adicionais, como o resultado da classificação binária de uma detecção. O trecho a seguir mostra os campos adicionais.

```
"rekognition-custom-labels-evaluation-details": {
    "version": 1,
    "is-true-positive": true,
    "is-true-negative": false,
    "is-false-positive": false,
    "is-false-negative": false,
    "is-present-in-ground-truth": true
    "ground-truth-labelling-jobs": ["rekognition-custom-labels-training-job"]
}
```
+ *versão*: a versão do formato do `rekognition-custom-labels-evaluation-details` campo no snapshot do manifesto.
+ *is-true-positive...* — A classificação binária da previsão com base em como a pontuação de confiança se compara ao limite mínimo do rótulo.
+ *is-present-in-ground-true — Verdadeiro* se a previsão feita pelo modelo estiver presente nas informações verdadeiras básicas usadas para treinamento, caso contrário, falso. Este valor não se baseia no fato de a pontuação de confiança exceder o limite mínimo calculado pelo modelo. 
+ *ground-truth-labeling-jobs*— Uma lista dos campos de verdade fundamentais na linha do manifesto que são usados para treinamento.

Para obter informações sobre o formato de manifesto do SageMaker AI Ground Truth, consulte [Output](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-data-output.html). 

Veja a seguir um exemplo de um snapshot do manifesto de teste que mostra métricas para classificação de imagens e detecção de objetos.

```
// For image classification
{
  "source-ref": "s3://amzn-s3-demo-bucket/dataset/beckham.jpeg",
  "rekognition-custom-labels-training-0": 1,
  "rekognition-custom-labels-training-0-metadata": {
    "confidence": 1.0,
    "job-name": "rekognition-custom-labels-training-job",
    "class-name": "Football",
    "human-annotated": "yes",
    "creation-date": "2019-09-06T00:07:25.488243",
    "type": "groundtruth/image-classification"
  },
  "rekognition-custom-labels-evaluation-0": 1,
  "rekognition-custom-labels-evaluation-0-metadata": {
    "confidence": 0.95,
    "job-name": "rekognition-custom-labels-evaluation-job",
    "class-name": "Football",
    "human-annotated": "no",
    "creation-date": "2019-09-06T00:07:25.488243",
    "type": "groundtruth/image-classification",
    "rekognition-custom-labels-evaluation-details": {
      "version": 1,
      "ground-truth-labelling-jobs": ["rekognition-custom-labels-training-job"],
      "is-true-positive": true,
      "is-true-negative": false,
      "is-false-positive": false,
      "is-false-negative": false,
      "is-present-in-ground-truth": true
    }
  }
}


// For object detection
{
  "source-ref": "s3://amzn-s3-demo-bucket/dataset/beckham.jpeg",
  "rekognition-custom-labels-training-0": {
    "annotations": [
      {
        "class_id": 0,
        "width": 39,
        "top": 409,
        "height": 63,
        "left": 712
      },
      ...
    ],
    "image_size": [
      {
        "width": 1024,
        "depth": 3,
        "height": 768
      }
    ]
  },
  "rekognition-custom-labels-training-0-metadata": {
    "job-name": "rekognition-custom-labels-training-job",
    "class-map": {
      "0": "Cap",
      ...
    },
    "human-annotated": "yes",
    "objects": [
      {
        "confidence": 1.0
      },
      ...
    ],
    "creation-date": "2019-10-21T22:02:18.432644",
    "type": "groundtruth/object-detection"
  },
  "rekognition-custom-labels-evaluation": {
    "annotations": [
      {
        "class_id": 0,
        "width": 39,
        "top": 409,
        "height": 63,
        "left": 712
      },
      ...
    ],
    "image_size": [
      {
        "width": 1024,
        "depth": 3,
        "height": 768
      }
    ]
  },
  "rekognition-custom-labels-evaluation-metadata": {
    "confidence": 0.95,
    "job-name": "rekognition-custom-labels-evaluation-job",
    "class-map": {
      "0": "Cap",
      ...
    },
    "human-annotated": "no",
    "objects": [
      {
        "confidence": 0.95,
        "rekognition-custom-labels-evaluation-details": {
          "version": 1,
          "ground-truth-labelling-jobs": ["rekognition-custom-labels-training-job"],
          "is-true-positive": true,
          "is-true-negative": false,
          "is-false-positive": false,
          "is-false-negative": false,
          "is-present-in-ground-truth": true
        }
      },
      ...
    ],
    "creation-date": "2019-10-21T22:02:18.432644",
    "type": "groundtruth/object-detection"
  }
}
```

# Como acessar o arquivo de resumo e o snapshot do manifesto de avaliação (SDK)
<a name="im-access-summary-evaluation-manifest"></a>

Para obter resultados de treinamento, você liga [DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions). Para obter um código de exemplo, consulte [Como descrever um modelo (SDK)](md-describing-model-sdk.md).

A localização das métricas é retornada na resposta `ProjectVersionDescription` de `DescribeProjectVersions`.
+ `EvaluationResult`: a localização do arquivo de resumo.
+ `TestingDataResult`: a localização do instantâneo do manifesto de avaliação usado para testes. 

A pontuação F1 e a localização do arquivo de resumo são retornadas em `EvaluationResult`. Por exemplo:

```
"EvaluationResult": {
                "F1Score": 1.0,
                "Summary": {
                    "S3Object": {
                        "Bucket": "echo-dot-scans",
                        "Name": "test-output/EvaluationResultSummary-my-echo-dots-project-v2.json"
                    }
                }
            }
```

O snapshot do manifesto de avaliação é armazenado no local especificado no parâmetro de entrada ` --output-config` que você especificou em [Treinando um modelo (SDK)](training-model.md#tm-sdk). 

**nota**  
A quantidade de tempo, em segundos, que você recebe pelo treinamento é retornada em `BillableTrainingTimeInSeconds`. 

Para obter informações sobre as métricas que são retornadas pelo Amazon Rekognition Custom Labels, consulte [Como acessar as métricas de avaliação (SDK) do Amazon Rekognition Custom Labels](im-metrics-api.md).

# Como visualizar a matriz de confusão para um modelo
<a name="im-confusion-matrix"></a>

Uma matriz de confusão permite que você veja os rótulos que seu modelo confunde com outros rótulos em seu modelo. Ao usar uma matriz de confusão, é possível focar suas melhorias no modelo.

Durante a avaliação do modelo, o Amazon Rekognition Custom Labels cria uma matriz de confusão usando as imagens de teste para identificar rótulos mal identificados (confusos). O Amazon Rekognition Custom Labels só criam uma matriz de confusão para modelos de classificação. A matriz de classificação pode ser acessada a partir do arquivo de resumo que o Amazon Rekognition Custom Labels cria durante o treinamento do modelo. Não é possível visualizar a matriz de confusão no console do Amazon Rekognition Custom Labels.

**Topics**
+ [Como usar uma matriz de confusão](#im-using-confusion-matrix)
+ [Como obter a matriz de confusão para um modelo](#im-getting-confusion-matrix)

## Como usar uma matriz de confusão
<a name="im-using-confusion-matrix"></a>

A tabela a seguir é a matriz de confusão do projeto de exemplo [classificação de imagens de Cômodos](getting-started.md#gs-image-classification-example). Os cabeçalhos das colunas são os rótulos (rótulos de "verdade fundamental") atribuídos às imagens de teste. Os cabeçalhos das linhas são os rótulos que o modelo prevê para as imagens de teste. Cada célula é a porcentagem de previsões de um rótulo (linha) que deve ser o rótulo de "verdade fundamental" (coluna). Por exemplo, 67% das previsões para banheiros foram rotuladas corretamente como banheiros. 33% por cento dos banheiros foram rotulados incorretamente como cozinhas. Um modelo de alto desempenho tem altos valores de células quando o rótulo previsto corresponde ao rótulo de "verdade fundamental". É possível vê-los como uma linha diagonal do primeiro ao último rótulo previsto e os rótulos de "verdade fundamental". Se o valor de uma célula for 0, nenhuma previsão foi feita para o rótulo previsto da célula, que deveria ser o rótulo de "verdade fundamental" da célula.

**nota**  
Como os modelos não são determinísticos, os valores das células da matriz de confusão que você obtém ao treinar o projeto Cômodos podem ser diferentes da tabela a seguir. 

A matriz de confusão identifica áreas nas quais focar. Por exemplo, a matriz de confusão mostra que 50% das vezes o modelo confundiu armários com quartos. Nesta situação, devem ser adicionadas mais imagens de armários e quartos ao seu conjunto de dados de treinamento. Verifique também se as imagens existentes do armário e do quarto estão corretamente rotuladas. Isto deve ajudar o modelo a distinguir melhor os dois rótulos. Para adicionar mais imagens a um conjunto de dados, consulte [Como adicionar mais imagens a um conjunto de dados](md-add-images.md).

Embora a matriz de confusão seja útil, é importante saber outras métricas. Por exemplo, 100% das previsões encontraram corretamente o rótulo floor\$1plan, que indica um excelente desempenho. No entanto, o conjunto de dados de teste tem apenas duas imagens com o rótulo floor\$1plan. Ele também tem 11 imagens com o rótulo sala\$1de\$1estar. Este desequilíbrio também está no conjunto de dados de treinamento (13 imagens sala\$1de\$1estar e duas imagens de armário). Para obter uma avaliação mais precisa, equilibre os conjuntos de dados de treinamento e teste adicionando mais imagens de rótulos sub-representados (plantas baixas neste exemplo). Para obter o número de imagens de teste por rótulo, consulte [Como acessar as métricas de avaliação (console)](im-access-training-results.md). 

A tabela a seguir é um exemplo de matriz de confusão, comparando o rótulo previsto (no eixo y) com o rótulo da verdade fundamental:


| Rótulo previsto | quintal | banheiro | quarto | closet | entry\$1way | floor\$1plan | front\$1yard | kitchen | sala\$1de\$1estar | patio | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| quintal | 75% | 0% | 0% | 0% | 0% | 0% | 33% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| banheiro | 0% | 67% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| quarto | 0% | 0% | 82% | 50% | 0% | 0% | 0% | 0% | 9% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| closet | 0% | 0% | 0% | 50% | 0% | 0% | 0% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| entry\$1way | 0% | 0% | 0% | 0% | 33% | 0% | 0% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| floor\$1plan | 0% | 0% | 0% | 0% | 0% | 100% | 0% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| front\$1yard | 25% | 0% | 0% | 0% | 0% | 0% | 67% | 0% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| kitchen | 0% | 33% | 0% | 0% | 0% | 0% | 0% | 88% | 0% | 0% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| sala\$1de\$1estar | 0% | 0% | 18% | 0% | 67% | 0% | 0% | 12% | 91% | 33% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| patio | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 67% | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |

## Como obter a matriz de confusão para um modelo
<a name="im-getting-confusion-matrix"></a>

O código a seguir usa as [DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions)operações [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects)and para obter o [arquivo de resumo](im-summary-file-api.md) de um modelo. Em seguida, ele usa o arquivo de resumo para exibir a matriz de confusão do modelo. 

**Para exibir a matriz de confusão de um modelo (SDK)**

1. Se você ainda não tiver feito isso, instale e configure o AWS CLI e AWS SDKs o. Para obter mais informações, consulte [Etapa 4: configurar o AWS CLI e AWS SDKs](su-awscli-sdk.md).

1. Use o código a seguir para exibir a matriz de confusão de um modelo. Forneça os seguintes argumentos de linha de comando:
   + `project_name`: o nome do projeto que você deseja usar. É possível obter o nome do projeto na página de projetos no console do Amazon Rekognition Custom Labels.
   + `version_name`: a versão do modelo que você deseja usar. É possível obter o nome da versão na página de detalhes do projeto no console do Amazon Rekognition Custom Labels.

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   
   """
   Purpose
   
   Shows how to display the confusion matrix for an Amazon Rekognition Custom labels image
   classification model.
   """
   
   
   import json
   import argparse
   import logging
   import boto3
   import pandas as pd
   from botocore.exceptions import ClientError
   
   
   logger = logging.getLogger(__name__)
   
   
   def get_model_summary_location(rek_client, project_name, version_name):
       """
       Get the summary file location for a model.
   
       :param rek_client: A Boto3 Rekognition client.
       :param project_arn: The Amazon Resource Name (ARN) of the project that contains the model.
       :param model_arn: The Amazon Resource Name (ARN) of the model.
       :return: The location of the model summary file.
       """
   
       try:
           logger.info(
               "Getting summary file for model %s in project %s.", version_name, project_name)
   
           summary_location = ""
   
           # Get the project ARN from the project name.
           response = rek_client.describe_projects(ProjectNames=[project_name])
   
           assert len(response['ProjectDescriptions']) > 0, \
               f"Project {project_name} not found."
   
           project_arn = response['ProjectDescriptions'][0]['ProjectArn']
   
           # Get the summary file location for the model.
           describe_response = rek_client.describe_project_versions(ProjectArn=project_arn,
                                                                    VersionNames=[version_name])
           assert len(describe_response['ProjectVersionDescriptions']) > 0, \
               f"Model {version_name} not found."
   
           model=describe_response['ProjectVersionDescriptions'][0]
   
           evaluation_results=model['EvaluationResult']
   
           summary_location=(f"s3://{evaluation_results['Summary']['S3Object']['Bucket']}"
                               f"/{evaluation_results['Summary']['S3Object']['Name']}")
   
           return summary_location
   
       except ClientError as err:
           logger.exception(
               "Couldn't get summary file location: %s", err.response['Error']['Message'])
           raise
   
   
   def show_confusion_matrix(summary):
       """
       Shows the confusion matrix for an Amazon Rekognition Custom Labels
       image classification model.
       :param summary: The summary file JSON object.
       """
       pd.options.display.float_format = '{:.0%}'.format
   
       # Load the model summary JSON into a DataFrame.
   
       summary_df = pd.DataFrame(
           summary['AggregatedEvaluationResults']['ConfusionMatrix'])
   
       # Get the confusion matrix.
       confusion_matrix = summary_df.pivot_table(index='PredictedLabel',
                                                 columns='GroundTruthLabel',
                                                 fill_value=0.0).astype(float)
   
       # Display the confusion matrix.
       print(confusion_matrix)
   
   
   def get_summary(s3_resource, summary):
       """
       Gets the summary file.
       : return: The summary file in bytes.
       """
       try:
           summary_bucket, summary_key = summary.replace(
               "s3://", "").split("/", 1)
   
           bucket = s3_resource.Bucket(summary_bucket)
           obj = bucket.Object(summary_key)
           body = obj.get()['Body'].read()
           logger.info(
               "Got summary file '%s' from bucket '%s'.",
               obj.key, obj.bucket_name)
       except ClientError:
           logger.exception(
               "Couldn't get summary file '%s' from bucket '%s'.",
               obj.key, obj.bucket_name)
           raise
       else:
           return body
   
   
   def add_arguments(parser):
       """
       Adds command line arguments to the parser.
       : param parser: The command line parser.
       """
   
       parser.add_argument(
           "project_name", help="The ARN of the project in which the model resides."
       )
       parser.add_argument(
           "version_name", help="The version of the model that you want to describe."
       )
   
   
   def main():
       """
       Entry point for script.
       """
   
       logging.basicConfig(level=logging.INFO,
                           format="%(levelname)s: %(message)s")
   
       try:
   
           # Get the command line arguments.
           parser = argparse.ArgumentParser(usage=argparse.SUPPRESS)
           add_arguments(parser)
           args = parser.parse_args()
   
           print(
               f"Showing confusion matrix for: {args.version_name} for project {args.project_name}.")
   
           session = boto3.Session(profile_name='custom-labels-access')
           rekognition_client = session.client("rekognition")
           s3_resource = session.resource('s3')
   
           # Get the summary file for the model.
           summary_location = get_model_summary_location(rekognition_client, args.project_name,
                                                         args.version_name
                                                         )
           summary = json.loads(get_summary(s3_resource, summary_location))
   
           # Check that the confusion matrix is available.
           assert 'ConfusionMatrix' in summary['AggregatedEvaluationResults'], \
               "Confusion matrix not found in summary. Is the model a classification model?"
   
           # Show the confusion matrix.
           show_confusion_matrix(summary)
           print("Done")
   
       except ClientError as err:
           logger.exception("Problem showing confusion matrix: %s", err)
           print(f"Problem describing model: {err}")
   
       except AssertionError as err:
           logger.exception(
               "Error: %s.\n", err)
           print(
               f"Error: {err}\n")
   
   
   if __name__ == "__main__":
       main()
   ```

# Referência: arquivo de resumo dos resultados do treinamento
<a name="im-summary-file"></a>

O resumo dos resultados do treinamento contém métricas que é possível usar para avaliar seu modelo. O arquivo de resumo também é usado para exibir métricas na página de resultados do treinamento do console. O arquivo de resumo é armazenado em um bucket do Amazon S3 após o treinamento. Para obter o arquivo de resumo, chame `DescribeProjectVersion`. Para obter um código de exemplo, consulte [Como acessar o arquivo de resumo e o snapshot do manifesto de avaliação (SDK)](im-access-summary-evaluation-manifest.md). 

## Arquivo de resumo
<a name="im-summary-reference"></a>

O JSON a seguir é o formato do arquivo de resumo.



**EvaluationDetails (seção 3)**  
Informações gerais sobre a tarefa de treinamento. Isso inclui o ARN do projeto ao qual o modelo pertence (`ProjectVersionArn)`), a data e a hora em que o treinamento foi concluído, a versão do modelo que foi avaliada (`EvaluationEndTimestamp`) e uma lista de rótulos detectados durante o treinamento (`Labels`). Também está incluído o número de imagens usadas para treinamento (`NumberOfTrainingImages`) e avaliação (`NumberOfTestingImages`). 

**AggregatedEvaluationResults (seção 1)**  
É possível usar `AggregatedEvaluationResults` para avaliar o desempenho geral do modelo treinado quando usado com o conjunto de dados de teste. As métricas agregadas estão incluídas para as métricas `Precision`, `Recall` e `F1Score`. Para detecção de objetos (a localização do objeto em uma imagem), as métricas `AverageRecall` (mAR) e `AveragePrecision` (mAP) são retornadas. Para classificação (o tipo de objeto em uma imagem), uma métrica de matriz de confusão é retornada. 

**LabelEvaluationResults (seção 2)**  
É possível usar `labelEvaluationResults` para avaliar o desempenho de rótulos individuais. Os rótulos são classificados pela pontuação F1 de cada rótulo. As métricas incluídas são `Precision`, `Recall`, `F1Score` e `Threshold` (usadas para classificação). 

O nome do arquivo é formatado da seguinte maneira: `EvaluationSummary-ProjectName-VersionName.json`.

```
{
  "Version": "integer",
  // section-3
  "EvaluationDetails": {
    "ProjectVersionArn": "string",
    "EvaluationEndTimestamp": "string",
    "Labels": "[string]",
    "NumberOfTrainingImages": "int",
    "NumberOfTestingImages": "int"
  },
  // section-1
  "AggregatedEvaluationResults": {
    "Metrics": {
      "Precision": "float",
      "Recall": "float",
      "F1Score": "float",
      // The following 2 fields are only applicable to object detection
      "AveragePrecision": "float",
      "AverageRecall": "float",
      // The following field is only applicable to classification
      "ConfusionMatrix":[
        {
          "GroundTruthLabel": "string",
          "PredictedLabel": "string",
          "Value": "float"
        },
        ...
      ],
    }
  },
  // section-2
  "LabelEvaluationResults": [
    {
      "Label": "string",
      "NumberOfTestingImages", "int",
      "Metrics": {
        "Threshold": "float",
        "Precision": "float",
        "Recall": "float",
        "F1Score": "float"
      },
    },
    ...
  ]
}
```