

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exigences relatives aux données d’image
<a name="clarify-processing-job-data-format-image"></a>

Une tâche de traitement SageMaker Clarify permet d'expliquer les images. Cette rubrique fournit les exigences de format de données pour des données d’image. Pour en savoir plus sur le traitement des données d’image, consultez [Analyse de données d’image pour l’explicabilité de la vision par ordinateur](clarify-processing-job-run.md#clarify-processing-job-run-cv).

Un jeu de données d’image contient un ou plusieurs fichiers image. Pour identifier un ensemble de données en entrée pour la tâche de traitement SageMaker Clarify, définissez un [ProcessingInput](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html#sagemaker-CreateProcessingJob-request-ProcessingInputs)nom `dataset` ou un `dataset_uri` paramètre de configuration d'analyse sur un préfixe d'URI Amazon S3 de vos fichiers image.

Les formats de fichier image et les extensions de fichier pris en charge sont répertoriés dans le tableau suivant.


| Format d'image | Extension de fichier | 
| --- | --- | 
| JPEG | jpg, jpeg | 
| PNG | png | 

Définissez le paramètre `dataset_type` de configuration d'analyse sur **application/x-image**. Comme le type n'est pas un format de fichier image spécifique, `content_type` sera utilisé pour décider du format et de l'extension des fichiers image.

La tâche de traitement SageMaker Clarify charge chaque fichier image dans un [NumPytableau](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html) tridimensionnel pour un traitement ultérieur. Les trois dimensions incluent la hauteur, la largeur et les valeurs RVB de chaque pixel.

## Format de demande de point de terminaison
<a name="clarify-processing-job-data-format-image-request"></a>

La tâche de traitement SageMaker Clarify convertit les données RGB brutes d'une image en un format d'image compatible, tel que JPEG. Elle fait cela avant d'envoyer les données au point de terminaison pour les prédictions. Les formats d'image pris en charge sont les suivants.


| Format de données | Type MIME | Extension de fichier | 
| --- | --- | --- | 
| JPEG | `image/jpeg` | jpg, jpeg | 
| PNG | `image/png` | png | 
| NPY | `application/x-npy` | Toutes les opérations ci-dessus | 

Spécifiez le format de données de la charge utile de demande en utilisant le paramètre `content_type` de configuration d'analyse. Si `content_type` n’est pas fourni, le format de données par défaut est `image/jpeg`.

## Format de réponse de point de terminaison
<a name="clarify-processing-job-data-format-image-response"></a>

Dès réception de la réponse à un appel d'un point de terminaison d'inférence, la tâche de traitement SageMaker Clarify désérialise la charge utile de la réponse, puis en extrait les prédictions.

### Problème de classification d'image
<a name="clarify-processing-job-data-format-image-response-class"></a>

Le format de données de la charge utile de la réponse doit être spécifié par le paramètre accept\_type de configuration d'analyse. Si `accept_type` n'est pas fourni, le format de données par défaut est `application/json`. Les formats pris en charge sont les mêmes que ceux décrits dans **Réponse du point de terminaison pour des données tabulaires**, dans la section des données tabulaires.

Voici un [Inférence avec l'algorithme de classification d'images](image-classification.md#IC-inference) exemple d'algorithme de classification d'images intégré à l' SageMaker IA qui accepte une seule image puis renvoie un tableau de valeurs de probabilité (scores), chacune pour une classe.

Comme indiqué dans le tableau suivant, lorsque le paramètre `content_type` est défini sur `application/jsonlines`, la réponse est un objet JSON.


| Charge utile de demande du point de terminaison | Charge utile de réponse du point de terminaison (représentation sous forme de chaîne) | 
| --- | --- | 
| Image unique | '{"prediction":[0.1,0.6,0.3]}' | 

Dans l'exemple précédent, définissez le paramètre `probability` sur l'expression JMESpath "prediction" pour extraire les scores.

Lorsque `content_type` est défini sur `application/json`, la réponse est un objet JSON, comme indiqué dans le tableau suivant.


| Charge utile de demande du point de terminaison | Charge utile de réponse du point de terminaison (représentation sous forme de chaîne) | 
| --- | --- | 
| Image unique | '[0.1,0.6,0.3]' | 

Dans l'exemple précédent, définissez `probability` sur l'expression JMESpath "[\*]" pour extraire tous les éléments du tableau. Dans l'exemple précédent, [`0.1, 0.6, 0.3]` est extrait. Sinon, si vous ne définissez pas le paramètre `probability` de configuration, tous les éléments du tableau sont également extraits. Cela est dû au fait que la totalité de la charge utile est désérialisée sous forme de prédictions.

### Problème de détection d'objet
<a name="clarify-processing-job-data-format-object-response-class"></a>

Par défaut, le paramètre `accept_type` de configuration d’analyse a pour valeur `application/json` et le seul format pris en charge est le format d’inférence de détection d’objet. Pour plus d’informations sur les formats de réponse, consultez [Formats de réponse](object-detection-in-formats.md#object-detection-recordio).

Le tableau suivant est un exemple de réponse d’un point de terminaison qui fournit en sortie un tableau. Chaque élément de ce tableau est un tableau de valeurs contenant l'index de classe, le score de confiance et les coordonnées du cadre de délimitation de l'objet détecté.


| Charge utile de demande du point de terminaison | Charge utile de réponse du point de terminaison (représentation sous forme de chaîne) | 
| --- | --- | 
| Image unique (un seul objet) | '[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244]]' | 
| Image unique (deux objets) | '[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475]]' | 

Le tableau suivant est un exemple de réponse d'un point de terminaison qui fournit en sortie un objet JSON avec une clé faisant référence au tableau. Définissez le paramètre `probability` de configuration d'analyse sur la clé "prediction" pour extraire les valeurs.


| Charge utile de demande du point de terminaison | Charge utile de réponse du point de terminaison (représentation sous forme de chaîne) | 
| --- | --- | 
| Image unique (un seul objet) | '{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244]]}' | 
| Image unique (deux objets) | '{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475]]}' | 

## Pre-check demande et réponse du point de terminaison pour les données d'image
<a name="clarify-processing-job-data-format-object-precheck"></a>

Nous vous recommandons de déployer votre modèle sur un point de terminaison d'inférence en temps réel basé sur l' SageMaker IA et d'envoyer des demandes à ce point de terminaison. Examinez manuellement les demandes et les réponses. Assurez-vous que les deux sont conformes aux exigences spécifiées dans la section **Demande du point de terminaison pour des données d'image** et dans la section **Réponse du point de terminaison pour des données d'image**.

Voici deux exemples de code montrant comment envoyer des demandes et examiner les réponses pour des problèmes de classification d'image et de détection d'objet.

### Problème de classification d'image
<a name="clarify-processing-job-data-format-object-precheck-class"></a>

L'exemple de code suivant indique à un point de terminaison de lire un fichier PNG, puis classe ce dernier.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-sagemaker-image-classification \
  --content-type "image/png" \
  --accept "application/json" \
  --body fileb://./test.png  \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
[0.1,0.6,0.3]
```

### Problème de détection d'objet
<a name="clarify-processing-job-data-format-object-precheck-object"></a>

L'exemple de code suivant indique à un point de terminaison de lire un fichier JPEG, puis classe les objets qu'il contient.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-sagemaker-object-detection \
  --content-type "image/jpg" \
  --accept "application/json" \
  --body fileb://./test.jpg  \
  /dev/stderr 1>/dev/null
```

Dans l’exemple de code précédent, la sortie de la réponse est la suivante.

```
{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475],[4.0, 0.32643985450267792, 0.3677481412887573, 0.034883320331573486, 0.6318609714508057, 0.5967587828636169],[8.0, 0.22552496790885925, 0.6152569651603699, 0.5722782611846924, 0.882301390171051, 0.8985623121261597],[3.0, 0.42260299175977707, 0.019305512309074402, 0.08386176824569702, 0.39093565940856934, 0.9574796557426453]]}
```