

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.

# Ausführen von Batch-Inferenzaufträgen
<a name="autopilot-deploy-models-batch"></a>

Beim Batch-Inferencing, das auch als Offline-Inferencing bezeichnet wird, werden Modellvorhersagen anhand einer Reihe von Beobachtungen erstellt. Batch-Inferenz ist eine gute Option für große Datensätze oder wenn Sie keine sofortige Antwort auf eine Modellvorhersageanforderung benötigen. Im Gegensatz dazu werden bei der Online-Inferenz ([Echtzeit-Inferencing](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime)) Vorhersagen in Echtzeit erstellt. Mit dem Python-SDK, der Autopilot-Benutzeroberfläche (UI), dem [AWS SDK für SageMaker Python](https://sagemaker.readthedocs.io/en/stable/) [(boto3](https://aws.amazon.com/sdk-for-python/)) oder dem () können Sie Batch-Inferenzen aus einem Autopilot-Modell ziehen. AWS Command Line Interface [AWS CLI](https://docs.aws.amazon.com/cli/)

Auf den folgenden Registerkarten werden drei Optionen für die Bereitstellung Ihres Modells angezeigt: Verwenden APIs, Autopilot-Benutzeroberfläche oder Verwendung zur Bereitstellung über verschiedene Konten. APIs Diese Anweisungen gehen davon aus, dass Sie bereits ein Modell in Autopilot erstellt haben. Wenn dies nicht der Fall ist, wechseln Sie zu [Regressions- oder Klassifizierungsjobs für Tabellendaten mithilfe der AutoML-API erstellen](autopilot-automate-model-development-create-experiment.md). Um Beispiele für jede Option zu sehen, öffnen Sie die einzelnen Tabs.

## Bereitstellen eines Modells mit Autopilot UI
<a name="autopilot-deploy-models-batch-ui"></a>

Die Autopilot-Benutzeroberfläche enthält hilfreiche Dropdown-Menüs, Schalter, QuickInfos und mehr, die Ihnen bei der Modellbereitstellung helfen.

Die folgenden Schritte zeigen, wie Sie ein Modell aus einem Autopilot-Experiment für Batch-Vorhersagen einsetzen. 

1. Melden Sie sich an [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)und wählen Sie im Navigationsbereich **Studio** aus.

1. Wählen Sie im linken Navigationsbereich **Studio**.

1. Wählen Sie unter **Erste Schritte** den Bereich aus, in dem Sie die Studio-Anwendung starten möchten. Wenn Ihr Benutzerprofil nur zu einer Domain gehört, wird die Option zur Auswahl einer Domain nicht angezeigt.

1. Wählen Sie das Benutzerprofil aus, für das Sie die Studio-Classic-Anwendung starten möchten. Wenn es in der Domain kein Benutzerprofil gibt, wählen Sie **Benutzerprofil erstellen** aus. Weitere Informationen finden Sie unter [Benutzerprofile hinzufügen](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html).

1. Wählen Sie **Studio starten**. Wenn das Benutzerprofil zu einem gemeinsam genutzten Bereich gehört, wählen Sie **Open Spaces**. 

1. Wenn die SageMaker Studio Classic-Konsole geöffnet wird, wählen Sie die Schaltfläche ** SageMakerStudio starten**.

1. Wählen Sie **AutoML** im linken Navigationsbereich.

1. Wählen Sie unter **Name** das Autopilot-Experiment aus, das dem Modell entspricht, das Sie bereitstellen möchten. Dadurch wird eine neue **AUTOPILOT-JOB** Registerkarte geöffnet.

1. Wählen Sie im Abschnitt **Modellname** das Modell aus, das Sie bereitstellen möchten.

1. Wählen Sie **Modell bereitstellen** aus. Dadurch wird eine neue Registerkarte geöffnet.

1. Wählen Sie oben auf der Seite die Option **Stapelprognosen erstellen**.

1. Für die **Konfiguration des Batch-Transformationsauftrags** geben Sie den **Instance-Typ**, die **Anzahl der Instances** und andere optionale Informationen ein.

1. Öffnen Sie im Abschnitt **Konfiguration der Eingangsdaten** das Dropdown-Menü. 

   1. Wählen Sie für den **S3-Datentyp **ManifestFile****oder **S3Prefix**.

   1. Wählen Sie für den **Typ Split** die Option **Line**, **RecordIO **TFRecord****oder **None** aus.

   1. Wählen Sie für **Komprimierung** **Gzip** oder **Keine**. 

1. Geben Sie unter **S3-Speicherort** den Speicherort des Amazon-S3-Buckets für die Eingabedaten und andere optionale Informationen ein.

1. Geben Sie unter **Konfiguration der Ausgabedaten** den S3-Bucket für die Ausgabedaten ein und wählen Sie, wie die [Ausgabe Ihres Auftrags zusammengestellt werden soll](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#sagemaker-Type-TransformOutput-AssembleWith). 

   1. Bei der **zusätzlichen Konfiguration (optional)** können Sie einen MIME-Typ und einen **S3-Verschlüsselungsschlüssel** eingeben.

1. Für **Eingabe-/Ausgabefilterung und Datenverknüpfungen (optional)** geben Sie einen JSONpath Ausdruck zum Filtern Ihrer Eingabedaten ein, verknüpfen die Eingabequellendaten mit Ihren Ausgabedaten und geben einen JSONpath Ausdruck ein, um Ihre Ausgabedaten zu filtern. 

   1. [Beispiele für jeden Filtertyp finden Sie in der DataProcessing API.](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataProcessing.html#sagemaker-Type-DataProcessing-InputFilter)

1. Um Batch-Vorhersagen für Ihren Eingabedatensatz durchzuführen, wählen Sie **Batch-Transformationsauftrag erstellen** aus. Eine neue Registerkarte **Batch Transform Auftrag** wird angezeigt.

1. Auf der Registerkarte **Batch Transform Jobs**: Suchen Sie den Namen Ihres Auftrages im Abschnitt **Status**. Überprüfen Sie dann den Fortschritt des Auftrages. 

## Bereitstellen mit SageMaker APIs
<a name="autopilot-deploy-models-batch-steps"></a>

Um das SageMaker APIs für Batch-Inferencing zu verwenden, gibt es drei Schritte:

1. **Holen Sie sich Kandidatendefinitionen** 

   Kandidatendefinitionen von [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)werden verwendet, um ein SageMaker KI-Modell zu erstellen. 

   Das folgende Beispiel zeigt, wie Sie mithilfe der [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)API Kandidatendefinitionen für den besten Modellkandidaten abrufen können. Sehen Sie sich den folgenden AWS CLI Befehl als Beispiel an.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name {{<job-name>}} --region {{<region>}}
   ```

   Verwenden Sie die [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API, um alle Kandidaten aufzulisten. Der folgende AWS CLI Befehl ist ein Beispiel dafür.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name {{<job-name>}} --region {{<region>}}
   ```

1. **Erstellen Sie ein SageMaker KI-Modell**

   Verwenden Sie die Containerdefinitionen aus den vorherigen Schritten, um mithilfe der [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API ein SageMaker KI-Modell zu erstellen. Der folgende AWS CLI Befehl ist ein Beispiel dafür.

   ```
   aws sagemaker create-model --model-name '{{<your-custom-model-name>}}' \
                       --containers ['{{<container-definition1}}>, {{<container-definition2>}}, {{<container-definition3>}}]' \
                       --execution-role-arn '{{<execution-role-arn>}}' --region '{{<region>}}
   ```

1. **Erstellen Sie einen SageMaker KI-Transformationsjob** 

   Das folgende Beispiel erstellt einen SageMaker AI-Transformationsjob mit der [CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html)API. Sehen Sie sich den folgenden AWS CLI Befehl als Beispiel an.

   ```
   aws sagemaker create-transform-job --transform-job-name '{{<your-custom-transform-job-name>}}' --model-name '{{<your-custom-model-name-from-last-step>}}'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix", 
                   "S3Uri": "{{<your-input-data>}}" 
               }
           },
           "ContentType": "{{text/csv}}",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "{{<your-output-path>}}",
           "AssembleWith": "Line" 
       }'\
   --transform-resources '{
           "InstanceType": "{{<instance-type>}}", 
           "InstanceCount": {{1}}
       }' --region '{{<region>}}'
   ```

Überprüfen Sie den Fortschritt Ihres Transformationsauftrags mithilfe der [DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html)API. Sehen Sie sich den folgenden AWS CLI Befehl als Beispiel an.

```
aws sagemaker describe-transform-job --transform-job-name '{{<your-custom-transform-job-name>}}' --region {{<region>}}
```

Nachdem der Auftrag abgeschlossen ist, ist das vorhergesagte Ergebnis in `<your-output-path>` verfügbar. 

Der Name der Ausgabedatei hat das folgende Format: `<input_data_file_name>.out`. Wenn Ihre Eingabedatei z. B. `text_x.csv` ist, lautet der Name der Ausgabedatei `text_x.csv.out`.

Die folgenden Registerkarten zeigen Codebeispiele für das SageMaker Python-SDK, AWS das SDK für Python (boto3) und das. AWS CLI

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

Das folgende Beispiel verwendet das **[SageMaker Python-SDK](https://sagemaker.readthedocs.io/en/stable/overview.html)**, um Vorhersagen stapelweise zu treffen.

```
from sagemaker import AutoML

sagemaker_session= sagemaker.session.Session()

job_name = '{{test-auto-ml-job}}' # your autopilot job name
automl = AutoML.attach(auto_ml_job_name=job_name)
output_path = '{{s3://test-auto-ml-job/output}}'
input_data = '{{s3://test-auto-ml-job/test_X.csv}}'

# call DescribeAutoMLJob API to get the best candidate definition
best_candidate = automl.describe_auto_ml_job()['BestCandidate']
best_candidate_name = best_candidate['CandidateName']

# create model
model = automl.create_model(name=best_candidate_name, 
               candidate=best_candidate)

# create transformer
transformer = model.transformer(instance_count={{1}}, 
    instance_type='{{ml.m5.2xlarge}}',
    assemble_with='Line',
    output_path=output_path)

# do batch transform
transformer.transform(data=input_data,
                      split_type='Line',
                       content_type='{{text/csv}}',
                       wait=True)
```

------
#### [ AWS SDK for Python (boto3) ]

 Im folgenden Beispiel wird **AWS SDK für Python (boto3)** verwendet, um Vorhersagen stapelweise zu treffen.

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='{{us-west-2}}')
role = '{{arn:aws:iam::1234567890:role/sagemaker-execution-role}}'
output_path = '{{s3://test-auto-ml-job/output}}'
input_data = '{{s3://test-auto-ml-job/test_X.csv}}'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "{{text/csv}}",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': '{{ml.m5.2xlarge}}',
        'InstanceCount': {{1}},
    },
)
```

Der Batch-Inferenzauftrag gibt eine Antwort in folgendem Format zurück.

```
{'TransformJobArn': '{{arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job}}',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **Rufen Sie die Kandidatendefinitionen** anhand des folgenden Codebeispiels ab.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name '{{test-automl-job}}' --region {{us-west-2}}
   ```

1. **Erstellen Sie das Modell** mithilfe des folgenden Codebeispiels.

   ```
   aws sagemaker create-model --model-name '{{test-sagemaker-model}}'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "{{s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz}}",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "{{s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz}}",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "{{s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz}}", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn '{{arn:aws:iam::1234567890:role/sagemaker-execution-role}}' \
   --region '{{us-west-2}}'
   ```

1. **Erstellen Sie den Transformationsauftrag** mithilfe des folgenden Codebeispiels.

   ```
   aws sagemaker create-transform-job --transform-job-name '{{test-tranform-job}}'\
    --model-name '{{test-sagemaker-model}}'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "{{s3://amzn-s3-demo-bucket/data.csv}}"
               }
           },
           "ContentType": "{{text/csv}}",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "{{s3://amzn-s3-demo-bucket/output/}}",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "{{ml.m5.2xlarge}}",
           "InstanceCount": {{1}}
       }'\
   --region '{{us-west-2}}'
   ```

1. **Überprüfen Sie den Fortschritt des Transformationsauftrags** anhand des folgenden Codebeispiels. 

   ```
   aws sagemaker describe-transform-job --transform-job-name  '{{test-tranform-job}}' --region {{us-west-2}}
   ```

   Es folgt die Antwort des Transformationsauftrags.

   ```
   {
       "TransformJobName": "{{test-tranform-job}}",
       "TransformJobArn": "{{arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job}}",
       "TransformJobStatus": "InProgress",
       "ModelName": "{{test-model}}",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "{{s3://amzn-s3-demo-bucket/data.csv}}"
               }
           },
           "ContentType": "{{text/csv}}",
           "CompressionType": "None",
           "SplitType": "Line"
       },
       "TransformOutput": {
           "S3OutputPath": "{{s3://amzn-s3-demo-bucket/output/}}",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "{{ml.m5.2xlarge}}",
           "InstanceCount": {{1}}
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   Nach den `TransformJobStatus` Änderungen an `Completed` können Sie das Inferenzergebnis in der `S3OutputPath` überprüfen.

------

## Modelle von verschiedenen Konten bereitstellen
<a name="autopilot-deploy-models-batch-across-accounts"></a>

Um einen Batch-Inferencing-Auftrag in einem anderen Konto als dem zu erstellen, in dem das Modell generiert wurde, folgen Sie den Anweisungen in [Modelle von verschiedenen Konten bereitstellen](autopilot-deploy-models-realtime.md#autopilot-deploy-models-realtime-across-accounts). Dann können Sie Modelle erstellen und Aufträge umwandeln, indem Sie folgen [Bereitstellen mit SageMaker APIs](#autopilot-deploy-models-batch-steps).