

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Acquisizione dei dati dal processo di trasformazione di batch
<a name="model-monitor-data-capture-batch"></a>

 I passaggi necessari per attivare l'acquisizione dei dati per il processo di trasformazione in batch sono simili indipendentemente dal fatto che si utilizzi Python AWS SDK per Python (Boto) SDK o SageMaker Python. Se utilizzi l' AWS SDK, definisci il [DataCaptureConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataCaptureConfig.html)dizionario, insieme ai campi obbligatori, all'interno del `CreateTransformJob` metodo per attivare l'acquisizione dei dati. Se usi SageMaker AI Python SDK, importa la `BatchDataCaptureConfig` classe e inizializza un'istanza da questa classe. Quindi, passa questo oggetto al parametro `batch_data_capture_config` dell'istanza del processo di trasformazione. 

 Per utilizzare i seguenti frammenti di codice, sostituisci il *italicized placeholder text* codice di esempio con le tue informazioni. 

## Come abilitare l'acquisizione dei dati
<a name="data-capture-batch-enable"></a>

 Specifica una configurazione di acquisizione dei dati quando avvii un processo di trasformazione. Sia che utilizzi SageMaker Python SDK AWS SDK per Python (Boto3) o Python, devi fornire l'`DestinationS3Uri`argomento, che è la directory in cui desideri che il processo di trasformazione registri i dati acquisiti. Facoltativamente, è inoltre possibile specificare i parametri seguenti: 
+  `KmsKeyId`: La AWS KMS chiave utilizzata per crittografare i dati acquisiti. 
+  `GenerateInferenceId`: un flag booleano che, durante l'acquisizione dei dati, indica se si desidera che il processo di trasformazione aggiunga l'ID e l'ora di inferenza all'output. Ciò è utile per il monitoraggio della qualità del modello, in cui è necessario importare i dati di Ground Truth. L'ID di inferenza e l'ora aiutano a far corrispondere i dati acquisiti con i dati di Ground Truth. 

------
#### [ AWS SDK per Python (Boto3) ]

 Configura i dati che desideri acquisire con il [DataCaptureConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataCaptureConfig.html)dizionario quando crei un processo di trasformazione utilizzando il `CreateTransformJob` metodo. 

```
input_data_s3_uri = "s3://input_S3_uri"
output_data_s3_uri = "s3://output_S3_uri"
data_capture_destination = "s3://captured_data_S3_uri"

model_name = "model_name"

sm_client.create_transform_job(
    TransformJobName="transform_job_name",
    MaxConcurrentTransforms=2,
    ModelName=model_name,
    TransformInput={
        "DataSource": {
            "S3DataSource": {
                "S3DataType": "S3Prefix",
                "S3Uri": input_data_s3_uri,
            }
        },
        "ContentType": "text/csv",
        "CompressionType": "None",
        "SplitType": "Line",
    },
    TransformOutput={
        "S3OutputPath": output_data_s3_uri,
        "Accept": "text/csv",
        "AssembleWith": "Line",
    },
    TransformResources={
        "InstanceType": "ml.m4.xlarge",
        "InstanceCount": 1,
    },
    DataCaptureConfig={
       "DestinationS3Uri": data_capture_destination,
       "KmsKeyId": "kms_key",
       "GenerateInferenceId": True,
    }
    )
```

------
#### [ SageMaker Python SDK ]

 Importa la classe `BatchDataCaptureConfig` dal [sagemaker.model\$1monitor](https://sagemaker.readthedocs.io/en/stable/api/inference/model_monitor.html). 

```
from sagemaker.transformer import Transformer
from sagemaker.inputs import BatchDataCaptureConfig

# Optional - The S3 URI of where to store captured data in S3
data_capture_destination = "s3://captured_data_S3_uri"

model_name = "model_name"

transformer = Transformer(model_name=model_name, ...)
transform_arg = transformer.transform(
    batch_data_capture_config=BatchDataCaptureConfig(
        destination_s3_uri=data_capture_destination,
        kms_key_id="kms_key",
        generate_inference_id=True,
    ),
    ...
)
```

------

## Come visualizzare i dati acquisiti
<a name="data-capture-batch-view"></a>

 Una volta completato il processo di trasformazione, i dati acquisiti vengono registrati nella `DestinationS3Uri` fornita con la configurazione di acquisizione dei dati. Sono presenti due sottodirectory in `DestinationS3Uri`, `/input` e `/output`. Se `DestinationS3Uri` è `s3://my-data-capture`, il processo di trasformazione crea le seguenti directory: 
+  `s3://my-data-capture/input`: i dati di input acquisiti per il processo di trasformazione. 
+  `s3://my-data-capture/output`: i dati di output acquisiti per il processo di trasformazione. 

 Per evitare la duplicazione dei dati, i dati acquisiti nelle due directory precedenti sono manifesti. Ogni manifesto è un file JSONL che contiene le posizioni Amazon S3 degli oggetti di origine. Un file manifesto può avere l'aspetto dell’esempio seguente: 

```
# under "/input" directory
[
    {"prefix":"s3://input_S3_uri/"},
    "dummy_0.csv",
    "dummy_1.csv",
    "dummy_2.csv",
    ...
]

# under "/output" directory
[
    {"prefix":"s3://output_S3_uri/"},
    "dummy_0.csv.out",
    "dummy_1.csv.out",
    "dummy_2.csv.out",
    ...
]
```

 Il processo di trasformazione organizza ed etichetta questi manifesti con un prefisso *yyyy/mm/dd/hh* S3 per indicare quando sono stati acquisiti. Questo aiuta il monitoraggio del modello a determinare la porzione di dati appropriata da analizzare. Ad esempio, se si avvia il processo di trasformazione alle 13:00 UTC del 26 agosto 2022, i dati acquisiti vengono etichettati con una stringa di prefisso `2022/08/26/13/`. 

## InferenceId Generazione
<a name="data-capture-batch-inferenceid"></a>

 Quando si configura `DataCaptureConfig` per un processo di trasformazione, è possibile attivare il flag booleano `GenerateInferenceId`. Ciò è particolarmente utile quando è necessario eseguire processi di monitoraggio della qualità e della distorsione del modello, per i quali sono necessari dati Ground Truth inseriti dall'utente. Il monitoraggio del modello si basa su un ID di inferenza per abbinare i dati acquisiti e i dati Ground Truth. Per ulteriori dettagli sull'ingestione di Ground Truth, consulta [Importazione delle etichette Ground Truth e unione con le previsioni](model-monitor-model-quality-merge.md). Quando `GenerateInferenceId` è attivo, l'output di trasformazione aggiunge un ID di inferenza (un UUID casuale) e l'ora di inizio del processo di trasformazione in UTC per ogni record. Questi due valori sono necessari per eseguire il monitoraggio della qualità e della distorsione del modello. Quando si costruiscono i dati di Ground Truth, è necessario fornire lo stesso ID di inferenza per abbinare i dati di output. Attualmente, questa funzionalità supporta gli output di trasformazione nei formati CSV, JSON e JSONL. 

 Se l'output della trasformazione è in formato CSV, il file di output è simile al seguente esempio: 

```
0, 1f1d57b1-2e6f-488c-8c30-db4e6d757861,2022-08-30T00:49:15Z
1, 22445434-0c67-45e9-bb4d-bd1bf26561e6,2022-08-30T00:49:15Z
...
```

 Le ultime due colonne sono l'ID di inferenza e l'ora di inizio del processo di trasformazione. Non modificarli. Le colonne rimanenti sono gli output del processo di trasformazione. 

 Se l'output della trasformazione è in formato JSON o JSONL, il file di output è simile al seguente esempio: 

```
{"output": 0, "SageMakerInferenceId": "1f1d57b1-2e6f-488c-8c30-db4e6d757861", "SageMakerInferenceTime": "2022-08-30T00:49:15Z"}
{"output": 1, "SageMakerInferenceId": "22445434-0c67-45e9-bb4d-bd1bf26561e6", "SageMakerInferenceTime": "2022-08-30T00:49:15Z"}
...
```

 Sono presenti due campi aggiunti che sono riservati, `SageMakerInferenceId` e `SageMakerInferenceTime`. Non modificare questi campi se è necessario eseguire il monitoraggio della qualità o delle distorsioni del modello: sono necessari per i lavori di unione. 