

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

# Saídas de contrato do contêiner
<a name="model-monitor-byoc-contract-outputs"></a>

O contêiner pode analisar os dados disponíveis no caminho `*dataset_source*` e gravar relatórios para o caminho em `*output_path*.`. O código do contêiner pode gravar qualquer relatório que atenda às suas necessidades.

Se você usar a estrutura e o contrato a seguir, determinados arquivos de saída serão tratados especialmente pela SageMaker IA na visualização e na API. Isso se aplica somente a conjuntos de dados tabulares.

Arquivos de saída para conjuntos de dados tabulares


| Nome do arquivo | Description | 
| --- | --- | 
| statistics.json |  Espera-se que este arquivo tenha estatísticas colunares para cada atributo no conjunto de dados que é analisado. O esquema para este arquivo está disponível na próxima seção.  | 
| constraints.json |  Espera-se que este arquivo tenha as restrições sobre os atributos observados. O esquema para este arquivo está disponível na próxima seção.  | 
| constraints\$1violations.json |  Espera-se que este arquivo tenha a lista de violações encontradas nesse conjunto atual de dados em comparação com o arquivo de estatísticas e restrições de linha de base especificado no caminho `baseline_constaints` e `baseline_statistics`.  | 

Além disso, se o `publish_cloudwatch_metrics` valor for código de `"Enabled"` contêiner pode emitir CloudWatch métricas da Amazon neste local:`/opt/ml/output/metrics/cloudwatch`. O esquema para esses arquivos está descrito nas seções a seguir.

**Topics**
+ [Esquema para estatísticas (arquivo statistics.json)](model-monitor-byoc-statistics.md)
+ [Esquema para restrições (arquivo constraints.json)](model-monitor-byoc-constraints.md)

# Esquema para estatísticas (arquivo statistics.json)
<a name="model-monitor-byoc-statistics"></a>

O esquema definido no arquivo `statistics.json` especifica os parâmetros estatísticos a serem calculados para a linha de base e para os dados capturados. Ele também configura o bucket que deve ser usado pelo [KLL](https://datasketches.apache.org/docs/KLL/KLLSketch.html), um esboço de quantis muito compacto com esquema de compactação lento.

```
{
    "version": 0,
    # dataset level stats
    "dataset": {
        "item_count": number
    },
    # feature level stats
    "features": [
        {
            "name": "feature-name",
            "inferred_type": "Fractional" | "Integral",
            "numerical_statistics": {
                "common": {
                    "num_present": number,
                    "num_missing": number
                },
                "mean": number,
                "sum": number,
                "std_dev": number,
                "min": number,
                "max": number,
                "distribution": {
                    "kll": {
                        "buckets": [
                            {
                                "lower_bound": number,
                                "upper_bound": number,
                                "count": number
                            }
                        ],
                        "sketch": {
                            "parameters": {
                                "c": number,
                                "k": number
                            },
                            "data": [
                                [
                                    num,
                                    num,
                                    num,
                                    num
                                ],
                                [
                                    num,
                                    num
                                ][
                                    num,
                                    num
                                ]
                            ]
                        }#sketch
                    }#KLL
                }#distribution
            }#num_stats
        },
        {
            "name": "feature-name",
            "inferred_type": "String",
            "string_statistics": {
                "common": {
                    "num_present": number,
                    "num_missing": number
                },
                "distinct_count": number,
                "distribution": {
                    "categorical": {
                         "buckets": [
                                {
                                    "value": "string",
                                    "count": number
                                }
                          ]
                     }
                }
            },
            #provision for custom stats
        }
    ]
}
```

**Observações**  
As métricas especificadas são reconhecidas pela SageMaker IA em alterações posteriores na visualização. O contêiner pode emitir mais métricas, se necessário.
O [esboço KLL](https://datasketches.apache.org/docs/KLL/KLLSketch.html) é o esboço reconhecido. Os contêineres personalizados podem escrever sua própria representação, mas ela não será reconhecida pela SageMaker IA nas visualizações.
Por padrão, a distribuição é materializada em 10 buckets. Não é possível alterar esse valor.

# Esquema para restrições (arquivo constraints.json)
<a name="model-monitor-byoc-constraints"></a>

Um arquivo constraints.json é usado para expressar as restrições que um conjunto de dados deve satisfazer. Os contêineres SageMaker do Amazon Model Monitor podem usar o arquivo constraints.json para avaliar os conjuntos de dados. Os contêineres pré-criados fornecem a capacidade de gerar o arquivo constraints.json automaticamente para um conjunto de dados da linha de base. Se você trouxer seu próprio contêiner, será possível fornecê-lo com habilidades semelhantes ou você poderá criar o arquivo constraints.json de alguma outra maneira. Veja a seguir o esquema para o arquivo de restrição que o contêiner pré-criado usa. Ao trazer seus próprios contêineres, é possível adotar o mesmo formato ou melhorá-lo conforme necessário.

```
{
    "version": 0,
    "features":
    [
        {
            "name": "string",
            "inferred_type": "Integral" | "Fractional" | 
                    | "String" | "Unknown",
            "completeness": number,
            "num_constraints":
            {
                "is_non_negative": boolean
            },
            "string_constraints":
            {
                "domains":
                [
                    "list of",
                    "observed values",
                    "for small cardinality"
                ]
            },
            "monitoringConfigOverrides":
            {}
        }
    ],
    "monitoring_config":
    {
        "evaluate_constraints": "Enabled",
        "emit_metrics": "Enabled",
        "datatype_check_threshold": 0.1,
        "domain_content_threshold": 0.1,
        "distribution_constraints":
        {
            "perform_comparison": "Enabled",
            "comparison_threshold": 0.1,
            "comparison_method": "Simple"||"Robust",
            "categorical_comparison_threshold": 0.1,
            "categorical_drift_method": "LInfinity"||"ChiSquared"
        }
    }
}
```

O objeto `monitoring_config` contém opções para o trabalho de monitoramento do atributo. A tabela a seguir descreve cada opção.

Monitoramento de restrições

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/model-monitor-byoc-constraints.html)