Exigences relatives aux données d'image - Amazon SageMaker

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

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 plus d'informations sur le traitement des données d'image, consultezcomputer vision.

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 ProcessingInputnom dataset ou un dataset_uri paramètre de configuration d'analyse sur un URI préfixe 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 tridimensionnel pour un traitement ultérieur. Les trois dimensions incluent la hauteur, la largeur et RGB les valeurs de chaque pixel.

La tâche de traitement SageMaker Clarify convertit les RGB données brutes d'une image en un format d'image compatible, tel queJPEG. 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 MIMEtype 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.

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

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.

Voir un Inférence avec l'algorithme de classification d'images exemple d'algorithme de classification d'images SageMaker intégré 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 content_type paramètre est défini surapplication/jsonlines, la réponse est un JSON objet.

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 probability paramètre sur l'JMESPathexpression « prédiction » pour extraire les scores.

Lorsque le content_type paramètre est défini surapplication/json, la réponse est un JSON objet, 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 l'JMESPathexpression « [*] » 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

La configuration d'analyse est accept_type par défaut application/json et le seul format pris en charge est le format d'inférence de détection d'objets. Pour plus d'informations sur les formats de réponse, consultezFormats de réponse.

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 génère un JSON objet 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]]}'

Vérification préalable de la demande et de la réponse du point de terminaison pour des données d'image

Nous vous recommandons de déployer votre modèle sur un point de terminaison d'inférence SageMaker en temps réel 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

L'exemple de code suivant indique à un point de terminaison de lire un PNG fichier, puis de le classer.

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

L'exemple de code suivant indique à un point de terminaison de lire un JPEG fichier, puis de détecter 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]]}