

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.

# Löschen eines Amazon Rekognition Custom Labels-Modells
<a name="tm-delete-model"></a>

Sie können ein Modell mithilfe der Amazon Rekognition Custom Labels-Konsole oder mithilfe der [DeleteProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProjectVersion)API löschen. Sie können ein Modell nicht löschen, wenn es läuft oder trainiert wird. Verwenden Sie die API, um ein laufendes Modell zu beenden. [StopProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StopProjectVersion) Weitere Informationen finden Sie unter [Stoppen eines Amazon Rekognition Custom Labels-Modells (SDK)](rm-stop.md#rm-stop-sdk). Wenn ein Modell trainiert wird, warten Sie, bis es fertig ist, bevor Sie das Modell löschen.

Ein gelöschtes Modell kann nicht wiederhergestellt werden.

**Topics**
+ [Löschen eines Amazon Rekognition Custom Labels-Modells (Konsole)](#tm-delete-model-console)
+ [Löschen eines Amazon Rekognition Custom Labels-Modells (SDK)](#tm-delete-model-sdk)

## Löschen eines Amazon Rekognition Custom Labels-Modells (Konsole)
<a name="tm-delete-model-console"></a>

Das folgende Verfahren zeigt, wie Sie ein Modell von einer Projektdetailseite löschen. Sie können ein Modell auch von der Detailseite eines Modells löschen. 

**So löschen Sie ein Modell (Konsole)**

1. Öffnen Sie die Amazon Rekognition Rekognition-Konsole unter. [https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/)

1. Wählen Sie **Benutzerdefinierte Labels verwenden**.

1. Wählen Sie **Erste Schritte**. 

1. Wählen Sie im linken Navigationsbereich die Option **Projekte** aus.

1. Wählen Sie das Projekt aus, das das Modell enthält, das Sie löschen möchten. Die Seite mit Projektdetails wird geöffnet.

1. Wählen Sie im Abschnitt **Modelle** die Modelle aus, die Sie löschen möchten.
**Anmerkung**  
Wenn das Modell nicht ausgewählt werden kann, läuft das Modell entweder gerade oder wird trainiert und kann nicht gelöscht werden. Überprüfen Sie das Feld **Status** und versuchen Sie es erneut, nachdem Sie das laufende Modell gestoppt haben, oder warten Sie, bis das Training beendet ist. 

1. Wählen Sie **Modell löschen**. Daraufhin wird das Dialogfeld **Modell löschen** angezeigt.

1. Geben Sie **Löschen** ein, um den Löschvorgang zu bestätigen. 

1. Wählen Sie **Löschen**, um das Modell zu löschen. Das Löschen des Modells kann eine Weile dauern.
**Anmerkung**  
Wenn Sie das Dialogfeld während des Löschens des Modells **schließen**, werden die Modelle trotzdem gelöscht.

## Löschen eines Amazon Rekognition Custom Labels-Modells (SDK)
<a name="tm-delete-model-sdk"></a>

Sie löschen ein Amazon Rekognition Custom Labels-Modell, indem Sie den Amazon-Ressourcennamen (ARN) des Modells, das Sie löschen möchten, aufrufen [DeleteProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProjectVersion)und angeben. Sie können den Modell-ARN im Abschnitt **Ihr Modell verwenden** auf der Seite mit den Modelldetails in der Amazon Rekognition Custom Labels-Konsole abrufen. Rufen Sie alternativ an [DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions)und geben Sie Folgendes an.
+ Der ARN des Projekts (`ProjectArn`), dem das Modell zugeordnet ist.
+ Der Versionsname (`VersionNames`) des Modells. 

Das Modell ARN ist das `ProjectVersionArn` Feld im [ProjectVersionDescription](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ProjectVersionDescription)Objekt aus der `DescribeProjectVersions` Antwort.

Sie können ein Modell nicht löschen, wenn es ausgeführt oder trainiert wird. Um festzustellen, ob das Modell läuft oder trainiert, rufen Sie das `Status` Feld des [ProjectVersionDescription](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ProjectVersionDescription)Modellobjekts auf [DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions)und überprüfen Sie es. Verwenden Sie die [StopProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StopProjectVersion)API, um ein laufendes Modell zu beenden. Weitere Informationen finden Sie unter [Stoppen eines Amazon Rekognition Custom Labels-Modells (SDK)](rm-stop.md#rm-stop-sdk). Sie müssen warten, bis ein Modell das Training abgeschlossen hat, bevor Sie es löschen können. 

**So löschen Sie ein Modell (SDK)**

1. Falls Sie dies noch nicht getan haben, installieren und konfigurieren Sie den AWS CLI und den AWS SDKs. Weitere Informationen finden Sie unter [Schritt 4: Richten Sie das und ein AWS CLI AWS SDKs](su-awscli-sdk.md).

1. Verwenden Sie den folgenden Code, um ein Modell zu löschen. 

------
#### [ AWS CLI ]

   Ändern Sie den Wert von `project-version-arn` in den Namen des Projekts, das Sie löschen möchten.

   ```
   aws rekognition delete-project-version --project-version-arn model_arn \
     --profile custom-labels-access
   ```

------
#### [ Python ]

   Geben Sie die folgenden Befehlszeilenparameter an
   + `project_arn` — den ARN des Projekts mit dem Modell, das Sie löschen möchten.
   + `model_arn` — den ARN der Modellversion, die Sie löschen möchten.

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   
   """
   Purpose
   Shows how to delete an existing Amazon Rekognition Custom Labels model.
   """
   
   
   import argparse
   import logging
   import time
   import boto3
   from botocore.exceptions import ClientError
   
   logger = logging.getLogger(__name__)
   
   
   def find_forward_slash(input_string, n):
       """
       Returns the location of '/' after n number of occurences. 
       :param input_string: The string you want to search
       : n: the occurence that you want to find.
       """
       position = input_string.find('/')
       while position >= 0 and n > 1:
           position = input_string.find('/', position + 1)
           n -= 1
       return position
   
   
   def delete_model(rek_client, project_arn, model_arn):
       """
       Deletes an Amazon Rekognition Custom Labels model.
       :param rek_client: The Amazon Rekognition Custom Labels Boto3 client.
       :param model_arn: The ARN of the model version that you want to delete.
       """
   
       try:
           # Delete the model
           logger.info("Deleting dataset: {%s}", model_arn)
   
           rek_client.delete_project_version(ProjectVersionArn=model_arn)
   
           # Get the model version name
           start = find_forward_slash(model_arn, 3) + 1
           end = find_forward_slash(model_arn, 4)
           version_name = model_arn[start:end]
   
           deleted = False
   
           # model might not be deleted yet, so wait deletion finishes.
           while deleted is False:
               describe_response = rek_client.describe_project_versions(ProjectArn=project_arn,
                                                                        VersionNames=[version_name])
               if len(describe_response['ProjectVersionDescriptions']) == 0:
                   deleted = True
               else:
                   logger.info("Waiting for model deletion %s", model_arn)
                   time.sleep(5)
   
           logger.info("model deleted: %s", model_arn)
   
           return True
   
       except ClientError as err:
           logger.exception("Couldn't delete model - %s: %s",
                            model_arn, err.response['Error']['Message'])
           raise
   
   
   def add_arguments(parser):
       """
       Adds command line arguments to the parser.
       :param parser: The command line parser.
       """
   
       parser.add_argument(
           "project_arn", help="The ARN of the project that contains the model that you want to delete."
       )
   
       parser.add_argument(
           "model_arn", help="The ARN of the model version that you want to delete."
       )
   
   
   def confirm_model_deletion(model_arn):
       """
       Confirms deletion of the model. Returns True if delete entered.
       :param model_arn: The ARN of the model that you want to delete.
       """
       print(f"Are you sure you wany to delete model {model_arn} ?\n", model_arn)
   
       start = input("Enter delete to delete your model: ")
       if start == "delete":
           return True
       else:
           return False
   
   
   def main():
   
       logging.basicConfig(level=logging.INFO,
                           format="%(levelname)s: %(message)s")
   
       try:
   
           # Get command line arguments.
           parser = argparse.ArgumentParser(usage=argparse.SUPPRESS)
           add_arguments(parser)
           args = parser.parse_args()
   
           if confirm_model_deletion(args.model_arn) is True:
               print(f"Deleting model: {args.model_arn}")
   
               # Delete the model.
               session = boto3.Session(profile_name='custom-labels-access')
               rekognition_client = session.client("rekognition")
   
               delete_model(rekognition_client,
                            args.project_arn,
                            args.model_arn)
   
               print(f"Finished deleting model: {args.model_arn}")
           else:
               print(f"Not deleting model {args.model_arn}")
   
       except ClientError as err:
           print(f"Problem deleting model: {err}")
   
   
   if __name__ == "__main__":
       main()
   ```

------
#### [ Java V2 ]
   + `project_arn` — den ARN des Projekts mit dem Modell, das Sie löschen möchten.
   + `model_arn` — den ARN der Modellversion, die Sie löschen möchten.

   ```
   //Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
   //PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-custom-labels-developer-guide/blob/master/LICENSE-SAMPLECODE.)
   
   import java.net.URI;
   import java.util.logging.Level;
   import java.util.logging.Logger;
   
   import software.amazon.awssdk.services.rekognition.RekognitionClient;
   
   import software.amazon.awssdk.services.rekognition.model.DeleteProjectVersionRequest;
   import software.amazon.awssdk.services.rekognition.model.DeleteProjectVersionResponse;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectVersionsRequest;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectVersionsResponse;
   import software.amazon.awssdk.services.rekognition.model.RekognitionException;
   
   public class DeleteModel {
   
       public static final Logger logger = Logger.getLogger(DeleteModel.class.getName());
   
       public static int findForwardSlash(String modelArn, int n) {
   
           int start = modelArn.indexOf('/');
           while (start >= 0 && n > 1) {
               start = modelArn.indexOf('/', start + 1);
               n -= 1;
           }
           return start;
   
       }
   
       public static void deleteMyModel(RekognitionClient rekClient, String projectArn, String modelArn)
               throws InterruptedException {
   
           try {
   
               logger.log(Level.INFO, "Deleting model: {0}", projectArn);
   
               // Delete the model
   
               DeleteProjectVersionRequest deleteProjectVersionRequest = DeleteProjectVersionRequest.builder()
                       .projectVersionArn(modelArn).build();
   
               DeleteProjectVersionResponse response =
                       rekClient.deleteProjectVersion(deleteProjectVersionRequest);
   
               logger.log(Level.INFO, "Status: {0}", response.status());
   
               // Get the model version
   
               int start = findForwardSlash(modelArn, 3) + 1;
               int end = findForwardSlash(modelArn, 4);
   
               String versionName = modelArn.substring(start, end);
   
               Boolean deleted = false;
   
               DescribeProjectVersionsRequest describeProjectVersionsRequest = DescribeProjectVersionsRequest.builder()
                       .projectArn(projectArn).versionNames(versionName).build();
   
               // Wait until model is deleted.
   
               do {
   
                   DescribeProjectVersionsResponse describeProjectVersionsResponse = rekClient
                           .describeProjectVersions(describeProjectVersionsRequest);
   
                   if (describeProjectVersionsResponse.projectVersionDescriptions().size()==0) {
                       logger.log(Level.INFO, "Waiting for model deletion: {0}", modelArn);
                       Thread.sleep(5000);
                   } else {
                       deleted = true;
                       logger.log(Level.INFO, "Model deleted: {0}", modelArn);
                   }
                   
               } while (Boolean.FALSE.equals(deleted));
   
               logger.log(Level.INFO, "Model deleted: {0}", modelArn);
   
           } catch (
   
           RekognitionException e) {
               logger.log(Level.SEVERE, "Client error occurred: {0}", e.getMessage());
               throw e;
           }
   
       }
   
       public static void main(String args[]) {
   
           final String USAGE = "\n" + "Usage: " + "<project_arn> <model_arn>\n\n" + "Where:\n"
                   + "   project_arn - The ARN of the project that contains the model that you want to delete.\n\n"
                   + "   model_version - The ARN of the model that you want to delete.\n\n";
   
           if (args.length != 2) {
               System.out.println(USAGE);
               System.exit(1);
           }
   
           String projectArn = args[0];
           String modelVersion = args[1];
   
           try {
   
               RekognitionClient rekClient = RekognitionClient.builder().build();
   
               // Delete the model
               deleteMyModel(rekClient, projectArn, modelVersion);
   
               System.out.println(String.format("model deleted: %s", modelVersion));
   
               rekClient.close();
   
           } catch (RekognitionException rekError) {
               logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage());
               System.exit(1);
           }
   
           catch (InterruptedException intError) {
               logger.log(Level.SEVERE, "Exception while sleeping: {0}", intError.getMessage());
               System.exit(1);
           }
   
       }
   
   }
   ```

------