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
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 |
|
jpg, jpeg |
PNG |
|
png |
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]]}