

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Anforderungen an die Image-Tags
<a name="clarify-processing-job-data-format-image"></a>

Ein SageMaker Clarif-Verarbeitungsjob bietet Unterstützung bei der Erklärung von Bildern. In diesem Thema werden die Anforderungen an das Datenformat für Bilddaten beschrieben. Informationen zur Verarbeitung der Image-Daten finden Sie unter [Analysieren Sie Bilddaten auf ihre Erklärbarkeit durch Computer Vision](clarify-processing-job-run.md#clarify-processing-job-run-cv).

Ein Bilddatensatz enthält eine oder mehrere Bilddateien. Um einen Eingabedatensatz für den SageMaker Clarif-Verarbeitungsjob zu identifizieren, setzen Sie entweder einen [ProcessingInput](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html#sagemaker-CreateProcessingJob-request-ProcessingInputs)benannten Parameter `dataset` oder den `dataset_uri` Analyse-Konfigurationsparameter auf ein Amazon S3 S3-URI-Präfix Ihrer Bilddateien.

Die unterstützten Bilddateiformate und Dateierweiterungen sind in der folgenden Tabelle aufgeführt.


| Bildformat | Dateierweiterung | 
| --- | --- | 
|  JPEG  |  JPG, JPEG  | 
|  PNG  |  PNG  | 

Setzen Sie den `dataset_type` Konfigurationsparameter für die Analyse auf **application/x-image**. Da es sich bei dem Typ nicht um ein bestimmtes Bilddateiformat handelt, `content_type` wird er verwendet, um das Bilddateiformat und die Erweiterung zu bestimmen.

Der SageMaker Clarify-Verarbeitungsauftrag lädt jede Bilddatei zur weiteren Verarbeitung in ein dreidimensionales [NumPyArray](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html). Die drei Dimensionen umfassen Höhe, Breite und RGB-Werte jedes Pixels.

## Endpunktanforderungsformat
<a name="clarify-processing-job-data-format-image-request"></a>

Der SageMaker Clarif-Verarbeitungsauftrag konvertiert die RGB-Rohdaten eines Bilds in ein kompatibles Bildformat, z. B. JPEG. Dies geschieht, bevor die Daten zur Vorhersage an den Endpunkt gesendet werden. Die unterstützten Bildformate lauten wie folgt.


| Datenformat | MIME-Typ | Dateierweiterung | 
| --- | --- | --- | 
|  JPEG  |  `image/jpeg`  |  JPG, JPEG  | 
|  PNG  |  `image/png`  |  PNG  | 
|  NPY  |  `application/x-npy`  |  All above  | 

Geben Sie das Datenformat der Anforderungs-Payload mithilfe des Analyse-Konfigurationsparameters `content_type` an. Wenn `content_type` nicht angegeben wird, ist das Datenformat standardmäßig auf `image/jpeg` eingestellt.

## Antwortformat des Endpunkts
<a name="clarify-processing-job-data-format-image-response"></a>

Nach Erhalt der Antwort auf einen Aufruf eines Inferenzendpunkts deserialisiert der SageMaker Clarify-Verarbeitungsauftrag die Antwortnutzdaten und extrahiert dann die Vorhersagen daraus.

### Problem mit der Bildklassifizierung
<a name="clarify-processing-job-data-format-image-response-class"></a>

Das Datenformat der Antwortnutzlast sollte durch den Analysekonfigurationsparameter accept\$1type angegeben werden. Wenn `accept_type` nicht angegeben, ist das Datenformat standardmäßig `application/json`. Die unterstützten Formate entsprechen denen, die in der **Endpunktantwort für Tabellendaten** im Abschnitt Tabellendaten beschrieben sind.

Hier finden Sie ein Beispiel [Inferenz mit dem Bildklassifizierungsalgorithmus](image-classification.md#IC-inference) für einen in SageMaker KI integrierten Algorithmus zur Bildklassifizierung, der ein einzelnes Bild akzeptiert und dann eine Reihe von Wahrscheinlichkeitswerten (Scores) zurückgibt, jeweils für eine Klasse.

Wie in der folgenden Tabelle dargestellt, handelt es sich bei der Antwort um ein JSON-Objekt, wenn der `content_type` Parameter auf `application/jsonlines` gesetzt ist.


| Nutzlast der Endpunktanforderung | Nutzlast der Endpunktantwort (Zeichenkettendarstellung) | 
| --- | --- | 
|  Einzelnes Bild  |  '\$1"Vorhersage“: [0.1,0.6,0.3]\$1'  | 

Stellen Sie im vorherigen Beispiel den `probability` Parameter auf den JMESPath Ausdruck „Prediction“ ein, um die Ergebnisse zu extrahieren.

Wenn der `content_type` auf `application/json` gesetzt ist, handelt es sich bei der Antwort um ein JSON-Objekt, wie in der folgenden Tabelle dargestellt.


| Nutzlast der Endpunktanforderung | Nutzlast der Endpunktantwort (Zeichenkettendarstellung) | 
| --- | --- | 
|  Einzelnes Bild  |  '[0.1,0.6,0.3]'  | 

Stellen Sie im vorherigen Beispiel `probability` den JMESPath Ausdruck „[\$1]“ ein, um alle Elemente des Arrays zu extrahieren. Im vorherigen Beispiel [`0.1, 0.6, 0.3]` wird extrahiert. Wenn Sie alternativ die Einstellung des `probability` Konfigurationsparameters überspringen, werden auch alle Elemente des Arrays extrahiert. Das liegt daran, dass die gesamte Nutzlast wie bei den Vorhersagen deserialisiert wird.

### Problem bei der Objekterkennung
<a name="clarify-processing-job-data-format-object-response-class"></a>

Die Standardkonfiguration `accept_type` für die Analyse ist `application/json` und das einzige unterstützte Format ist das Object Detection Inference Format. Informationen über Antwortformate finden Sie unter [Antwortformate](object-detection-in-formats.md#object-detection-recordio).

Die folgende Tabelle ist eine Beispielantwort von einem Endpunkts, der ein Array ausgibt. Jedes Element des Arrays ist ein Array von Werten, das den Klassenindex, den Konfidenzwert und die Bounding-Box-Koordinaten des erkannten Objekts enthält.


| Nutzlast der Endpunktanforderung | Nutzlast der Endpunktantwort (Zeichenkettendarstellung) | 
| --- | --- | 
|  Einzelbild (ein Objekt)  |  '[4.0, 0.86419455409049988, 0.3088374733924866, 0,07030484080314636, 0.7110607028007507, 0.9345266819000244]]'  | 
|  Einzelbild (zwei Objekte)  |  '[4,0, 0,86419455409049988, 0,3088374733924866, 0,07030484080314636, 0,7110607028007507, 0,9345266819000244], [0,0, 0,73376623392105103, 0,5714187026023865, 0,40427327156066895, 0,827027023865 75183391571, 0,9712159633636475]]'  | 

Die folgende Tabelle ist ein Beispiel für eine Antwort von einem Endpunkt, die ein JSON-Objekt mit einem Schlüssel ausgibt, der auf das Array verweist. Stellen Sie die Analysekonfiguration `probability` auf den Schlüssel „Prognose“ ein, um die Werte zu extrahieren.


| Nutzlast der Endpunktanforderung | Nutzlast der Endpunktantwort (Zeichenkettendarstellung) | 
| --- | --- | 
|  Einzelbild (ein Objekt)  |  '\$1"Vorhersage“: [[4.0, 0.86419455409049988, 0.3088374733924866, 0,07030484080314636, 0.7110607028007507, 0.9345266819000244]]\$1'  | 
|  Einzelbild (zwei Objekte)  |  '\$1"Prognose“: [4,0, 0,86419455409049988, 0,3088374733924866, 0,07030484080314636, 0,7110607028007507, 0,9345266819000244], [0,0, 0,73376623392105103, 0,5714187026023865, 0,4042732715606686895, 0,827075183391571, 0,9712159633636475]]\$1'  | 

## Überprüfen Sie die Endpunktanfrage und -antwort für Bilddaten vorab
<a name="clarify-processing-job-data-format-object-precheck"></a>

Wir empfehlen Ihnen, Ihr Modell auf einem SageMaker KI-Echtzeit-Inferenzendpunkt bereitzustellen und Anfragen an den Endpunkt zu senden. Untersuchen Sie die Anfragen und Antworten manuell. Stellen Sie sicher, dass beide den Anforderungen im Abschnitt **Endpunktanforderung für Bilddaten** und **Endpunktantwort für Bilddaten** entsprechen.

Im Folgenden finden Sie zwei Codebeispiele, die zeigen, wie Anfragen gesendet und die Antworten auf Probleme mit der Bildklassifizierung und Objekterkennung untersucht werden.

### Problem mit der Bildklassifizierung
<a name="clarify-processing-job-data-format-object-precheck-class"></a>

Der folgende Beispielcode weist einen Endpunkt an, eine PNG-Datei zu lesen, und klassifiziert sie dann.

```
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
```

Aus dem vorherigen Codebeispiel folgt die Antwortausgabe.

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

### Problem bei der Objekterkennung
<a name="clarify-processing-job-data-format-object-precheck-object"></a>

Der folgende Beispielcode weist einen Endpunkt an, eine JPEG-Datei zu lesen, und erkennt dann die darin enthaltenen Objekte.

```
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
```

Aus dem vorherigen Codebeispiel folgt die Antwortausgabe.

```
{"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]]}
```