Löschen eines Amazon-Rekognition-Custom-Labels-Modells - Rekognition

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

Sie können ein Modell löschen, indem Sie die Amazon Rekognition Custom Labels-Konsole oder die DeleteProjectVersionAPI verwenden. Sie können ein Modell nicht löschen, wenn es läuft oder trainiert. Verwenden Sie die StopProjectVersionAPI, um ein laufendes Modell zu stoppen. Weitere Informationen finden Sie unter Stoppen eines Amazon Rekognition Custom Labels-Modells (SDK). Wenn ein Modell trainiert, warten Sie, bis es fertig ist, bevor Sie das Modell löschen.

Ein gelöschtes Modell kann nicht wiederhergestellt werden.

Löschen eines Amazon-Rekognition-Custom-Labels-Modells (Konsole)

Im folgenden Verfahren wird das Löschen eines Modells von einer Projektdetailseite erläutert. 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/.

  2. Wählen Sie Benutzerdefinierte Labels verwenden.

  3. Wählen Sie Get started (Erste Schritte) aus.

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

  5. Wählen Sie das Projekt aus, das Modell enthält, das Sie löschen möchten. Die Projektseite Details wird geöffnet.

  6. 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 es oder trainiert es 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.

  7. Wählen Sie Modell löschen und das Dialogfeld Modell löschen wird angezeigt.

  8. Geben Sie löschen ein, um den Löschvorgang zu bestätigen.

  9. 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 beim Löschen des Modells schließen, werden die Modelle trotzdem gelöscht.

Löschen eines Amazon-Rekognition-Custom-Labels-Modells (SDK)

Sie löschen ein Amazon Rekognition-Custom-Labels-Modell, indem Sie den Amazon-Ressourcennamen (ARN) des Modells aufrufen DeleteProjectVersionund angeben, das Sie löschen möchten. Sie können den Modell-ARN im Abschnitt Verwenden Sie Ihr Modell auf der Seite mit den Modelldetails in der Amazon Rekognition Custom Labels-Konsole abrufen. Rufen Sie alternativ an DescribeProjectVersionsund geben Sie Folgendes an.

  • Der ARN des Projekts (ProjectArn), mit dem das Modell verknüpft ist.

  • Der Versionsname (VersionNames) des Modells.

Der Modell-ARN ist dasProjectVersionArn Feld im ProjectVersionDescriptionObjekt aus derDescribeProjectVersions Antwort.

Sie können ein Modell nicht löschen, wenn es läuft oder trainiert. Um festzustellen, ob das Modell läuft oder trainiert, rufen Sie dasStatus Feld des ProjectVersionDescriptionModellobjekts auf DescribeProjectVersionsund überprüfen Sie es. Verwenden Sie die StopProjectVersionAPI, um ein laufendes Modell zu stoppen. Weitere Informationen finden Sie unter Stoppen eines Amazon Rekognition Custom Labels-Modells (SDK). Sie müssen warten, bis ein Modell das Training abgeschlossen hat, bevor Sie es löschen können.

Um ein Modell zu löschen (SDK)
  1. Falls noch nicht getan haben, installieren und konfigurieren Sie dieAWS CLIAWS SDKs. Weitere Informationen finden Sie unter Schritt 4: Einrichten der AWS CLI- und AWS-SDKs.

  2. Löschen Sie folgenden Code, um ein Modell zu löschen.

    AWS CLI

    Ändern Sie den Wert vonproject-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 folgenden Befehlszeilenparameter Sie folgenden Befehlszeilenparameter

    • project_arn— der ARN des Projekts, das Sie löschen möchten.

    • model_arn— der 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— der ARN des Projekts, das Sie löschen möchten.

    • model_arn— der 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); } } }