Eliminazione di un modello Amazon Rekognition Custom Labels - Rekognition

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Eliminazione di un modello Amazon Rekognition Custom Labels

Puoi eliminare un modello utilizzando la console Amazon Rekognition Custom Labels o utilizzando l'API. DeleteProjectVersion Non puoi eliminare un modello se è in esecuzione o in fase di addestramento. Per interrompere un modello in esecuzione, utilizza l'API. StopProjectVersion Per ulteriori informazioni, consulta Interruzione di un modello Amazon Rekognition Custom Labels (SDK). Se un modello è in fase di addestramento, attendi che finisca prima di eliminarlo.

Un modello eliminato non può essere ripristinato.

Eliminazione di un modello Amazon Rekognition Custom Labels (console)

Nella seguente procedura viene illustrato come eliminare un modello da una pagina dei dettagli del progetto. Puoi anche eliminare un modello dalla pagina dei dettagli di un modello.

Per eliminare un modello (console)
  1. Apri la console Amazon Rekognition all'indirizzo. https://console.aws.amazon.com/rekognition/

  2. Scegli Usa etichette personalizzate.

  3. Scegli Avvia.

  4. Nel pannello di navigazione a sinistra, scegli Progetti.

  5. Scegli il progetto che contiene il modello che desideri eliminare. Sarà visualizzata la pagina dei dettagli del progetto.

  6. Nella sezione Modelli, seleziona i modelli che desideri eliminare.

    Nota

    Se il modello non può essere selezionato, ciò significa che è in esecuzione o in fase di addestramento e non può essere eliminato. Controlla il campo Stato e riprova dopo aver interrotto il modello in esecuzione, oppure attendi il termine dell’addestramento.

  7. Scegli Elimina modello per visualizzare la finestra di dialogo Elimina modello.

  8. Immetti elimina per confermare l'eliminazione.

  9. Scegli Elimina per eliminare il modello. Il completamento dell'eliminazione del modello potrebbe richiedere tempo.

    Nota

    Se Chiudi la finestra di dialogo durante l'eliminazione del modello, i modelli vengono comunque eliminati.

Eliminazione di un modello Amazon Rekognition Custom Labels (SDK)

Puoi eliminare un modello Amazon Rekognition Custom Labels DeleteProjectVersionchiamando e fornendo l'Amazon Resource Name (ARN) del modello che desideri eliminare. Puoi ottenere l'ARN del modello dalla sezione Usa il modello della pagina dei dettagli del modello nella console di Amazon Rekognition Custom Labels. In alternativa, chiama e fornisci quanto segue DescribeProjectVersions.

  • L’ARN del progetto (ProjectArn) a cui è associato il processo.

  • Il nome della versione (VersionNames) del modello.

Il modello ARN è il ProjectVersionArn campo nell'ProjectVersionDescriptionoggetto, dalla DescribeProjectVersions risposta.

Non puoi eliminare un modello se è in esecuzione o in fase di addestramento. Per determinare se il modello è in esecuzione o in fase di allenamento, chiamate DescribeProjectVersionse controllate il Status campo dell'ProjectVersionDescriptionoggetto del modello. Per interrompere un modello in esecuzione, utilizzate l'StopProjectVersionAPI. Per ulteriori informazioni, consulta Interruzione di un modello Amazon Rekognition Custom Labels (SDK). È necessario attendere che un modello finisca l'addestramento prima di poterlo eliminare.

Per eliminare un modello (SDK)
  1. Se non l'hai già fatto, installa e configura il AWS CLI e il AWS SDKs. Per ulteriori informazioni, consulta Passaggio 4: configura e AWS CLIAWS SDKs.

  2. Utilizza il codice seguente per eliminare un modello.

    AWS CLI

    Modifica il valore di project-version-arn con il nome del progetto che desideri eliminare.

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

    Fornisci i seguenti parametri di riga di comando

    • project_arn — l'ARN del progetto che contiene il modello che desideri eliminare.

    • model_arn — l'ARN della versione del modello che desideri eliminare.

    # 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 — l'ARN del progetto che contiene il modello che desideri eliminare.

    • model_arn — l'ARN della versione del modello che desideri eliminare.

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