Suppression d’un modèle Étiquettes personnalisées Amazon Rekognition - Rekognition

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.

Suppression d’un modèle Étiquettes personnalisées Amazon Rekognition

Vous pouvez supprimer un modèle à l'aide de la console Amazon Rekognition Custom Labels ou à l'aide de l'API. DeleteProjectVersion Vous ne pouvez pas supprimer un modèle s’il fonctionne ou s’il est en cours d’entraînement. Pour arrêter un modèle en cours d'exécution, utilisez l'StopProjectVersionAPI. Pour de plus amples informations, veuillez consulter Arrêt d’un modèle Étiquettes personnalisées Amazon Rekognition (kit SDK). Si un modèle est en cours d’entraînement, attendez qu’il soit terminé avant de le supprimer.

Un modèle supprimé ne peut pas être rétabli.

Suppression d’un modèle Étiquettes personnalisées Amazon Rekognition (console)

La procédure suivante indique comment supprimer un modèle de la page de détails d’un projet. Vous pouvez également supprimer un modèle de la page de détails d’un modèle.

Pour supprimer un modèle (console)
  1. Ouvrez la console Amazon Rekognition à l'adresse. https://console.aws.amazon.com/rekognition/

  2. Choisissez Utiliser Custom Labels.

  3. Choisissez Démarrer.

  4. Dans le volet de navigation de gauche, choisissez Projets.

  5. Choisissez le projet qui contient le modèle que vous souhaitez supprimer. La page de détails du projet s’ouvre.

  6. Dans la section Modèles, sélectionnez les modèles que vous voulez supprimer.

    Note

    Si le modèle ne peut pas être sélectionné, il est en cours d’exécution ou d’entraînement et ne peut pas être supprimé. Vérifiez le champ Statut et réessayez après avoir arrêté le modèle en cours d’exécution, ou attendez la fin de l’entraînement.

  7. Choisissez Supprimer le modèle et la boîte de dialogue Supprimer le modèle s’affiche.

  8. Saisissez supprimer pour confirmer la suppression.

  9. Choisissez Supprimer pour supprimer le modèle. La suppression du modèle peut prendre un certain temps.

    Note

    Si vous choisissez de Fermer la boîte de dialogue pendant la suppression du modèle, les modèles sont quand même supprimés.

Suppression d’un modèle Étiquettes personnalisées Amazon Rekognition (kit SDK)

Vous supprimez un modèle d'étiquettes personnalisées Amazon Rekognition en DeleteProjectVersionappelant et en fournissant le nom de ressource Amazon (ARN) du modèle que vous souhaitez supprimer. Vous pouvez obtenir l’ARN du modèle depuis la section Utiliser votre modèle de la page de détails du modèle dans la console Étiquettes personnalisées Amazon Rekognition. Vous pouvez également appeler DescribeProjectVersionset fournir les documents suivants.

  • ARN du projet (ProjectArn) auquel le modèle est associé.

  • Nom de la version (VersionNames) du modèle.

L'ARN du modèle est le ProjectVersionArn champ de l'ProjectVersionDescriptionobjet, à partir de la DescribeProjectVersions réponse.

Vous ne pouvez pas supprimer un modèle s’il est en cours d’exécution ou d’entraînement. Pour déterminer si le modèle est en cours d'exécution ou en cours d'entraînement, appelez DescribeProjectVersionset vérifiez le Status champ de l'ProjectVersionDescriptionobjet du modèle. Pour arrêter un modèle en cours d'exécution, utilisez l'StopProjectVersionAPI. Pour de plus amples informations, veuillez consulter Arrêt d’un modèle Étiquettes personnalisées Amazon Rekognition (kit SDK). Vous devez attendre la fin de l’entraînement d’un modèle pour pouvoir le supprimer.

Pour supprimer un modèle (kit SDK)
  1. Si ce n'est pas déjà fait, installez et configurez le AWS CLI et le AWS SDKs. Pour de plus amples informations, veuillez consulter Étape 4 : Configurez le AWS CLI et AWS SDKs.

  2. Utilisez le code suivant pour supprimer un modèle.

    AWS CLI

    Remplacez la valeur de project-version-arn par le nom du projet que vous souhaitez supprimer.

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

    Fournissez les paramètres de ligne de commande suivants

    • project_arn — ARN du projet qui contient le modèle que vous souhaitez supprimer.

    • model_arn — ARN de la version du modèle que vous souhaitez supprimer.

    # 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 — ARN du projet qui contient le modèle que vous souhaitez supprimer.

    • model_arn — ARN de la version du modèle que vous souhaitez supprimer.

    //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); } } }