Addestrare il modello - Amazon Lookout per Vision

Avviso di fine del supporto: il 31 ottobre 2025 AWS interromperà il supporto per Amazon Lookout for Vision. Dopo il 31 ottobre 2025, non potrai più accedere alla console Lookout for Vision o alle risorse Lookout for Vision. Per ulteriori informazioni, consulta questo post del blog.

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à.

Addestrare il modello

Dopo aver creato i set di dati e aver etichettato le immagini, puoi addestrare il tuo modello. Come parte del processo di formazione, viene utilizzato un set di dati di test. Se si dispone di un singolo progetto di set di dati, le immagini nel set di dati vengono automaticamente suddivise in un set di dati di test e un set di dati di addestramento come parte del processo di formazione. Se il progetto ha un set di dati di addestramento e uno di test, questi vengono utilizzati per addestrare e testare separatamente il set di dati.

Una volta completato l'addestramento, è possibile valutare le prestazioni del modello e apportare i miglioramenti necessari. Per ulteriori informazioni, consulta Come migliorare il modello Amazon Lookout for Vision.

Per addestrare il tuo modello, Amazon Lookout for Vision crea una copia delle immagini di formazione e test di origine. Per impostazione predefinita, le immagini copiate sono crittografate con una chiave AWS proprietaria e gestita. Puoi anche scegliere di utilizzare la tua AWS chiave Key Management Service (KMS). Per ulteriori informazioni, consulta Concetti relativi al servizio di gestione delle AWS chiavi. Le tue immagini di origine non vengono modificate.

È possibile assegnare metadati al modello sotto forma di tag. Per ulteriori informazioni, consulta Modelli di etichettatura.

Ogni volta che si addestra un modello, viene creata una nuova versione del modello. Se non hai più bisogno di una versione di un modello, puoi eliminarla. Per ulteriori informazioni, consulta Eliminazione di un modello.

Ti viene addebitato il tempo necessario per addestrare correttamente il tuo modello. Per ulteriori informazioni, consulta Orari di formazione.

Per visualizzare i modelli esistenti in un progetto,Visualizzazione dei modelli.

Nota

Se hai appena completato Creare il tuo set di dati oAggiungere immagini al set di dati. Al momento la console dovrebbe mostrare la dashboard del modello e non è necessario eseguire i passaggi da 1 a 4.

Addestramento di un modello (console)

La procedura seguente mostra come addestrare il modello utilizzando la console.

Per addestrare il tuo modello (console)
  1. Apri la console https://console.aws.amazon.com/lookoutvision/Amazon Lookout for Vision all'indirizzo.

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

  3. Nella pagina Progetti, scegli il progetto che contiene il modello che desideri addestrare.

  4. Nella pagina dei dettagli del progetto, scegli Train model. Il pulsante Train model è disponibile se hai abbastanza immagini etichettate per addestrare il modello. Se il pulsante non è disponibile, aggiungi altre immagini finché non avrai un numero sufficiente di immagini etichettate.

  5. (Facoltativo) Se desideri utilizzare la tua chiave di AWS KMS crittografia, procedi come segue:

    1. In Crittografia dei dati di immagine scegli Personalizza le impostazioni (avanzate) di crittografia.

    2. In encryption.aws_kms_key inserisci l'Amazon Resource Name ARN () della tua chiave o scegli una chiave esistente. AWS KMS Per creare una nuova chiave, scegli Crea una chiave. AWS IMS

  6. (Facoltativo) Se desideri aggiungere tag al modello, procedi come segue:

    1. Nella sezione Tag, seleziona Aggiungi nuovo tag.

    2. Immetti i seguenti dati:

      1. Il nome della chiave in Chiave.

      2. Il valore della chiave in Valore.

    3. Per aggiungere altri tag, ripeti i passaggi 6a e 6b.

    4. (Facoltativo) Se desideri rimuovere un tag, scegli Rimuovi accanto al tag da rimuovere. Se stai rimuovendo un tag salvato in precedenza, questo viene rimosso quando salvi le modifiche.

  7. Scegli Addestra modello.

  8. Nella finestra di dialogo Vuoi addestrare il tuo modello?, scegli Addestra modello.

  9. Nella vista Modelli, puoi vedere che l'allenamento è iniziato e puoi controllare lo stato attuale visualizzando la Status colonna relativa alla versione del modello. L'addestramento di un modello richiede tempo.

  10. Al termine dell'allenamento, è possibile valutarne le prestazioni. Per ulteriori informazioni, consulta Come migliorare il modello Amazon Lookout for Vision.

Addestramento di un modello (SDK)

Si utilizza l'CreateModeloperazione per avviare l'addestramento, il test e la valutazione di un modello. Amazon Lookout for Vision addestra il modello utilizzando il set di dati di addestramento e test associato al progetto. Per ulteriori informazioni, consulta Creare un progetto () SDK.

Ogni volta che chiamiCreateModel, viene creata una nuova versione del modello. La risposta di CreateModel include la versione del modello.

Ti viene addebitato un costo per ogni formazione modello di successo. Utilizzate il parametro ClientToken di input per evitare addebiti dovuti a ripetizioni inutili o accidentali del training sul modello da parte degli utenti. ClientTokenè un parametro di input idempotente che garantisce CreateModel che l'allenamento venga completato una sola volta per uno specifico set di parametri. Una chiamata ripetuta a CreateModel con lo stesso ClientToken valore assicura che l'allenamento non venga ripetuto. Se non fornite un valore perClientToken, il valore AWS SDK che state utilizzando inserisce automaticamente un valore per voi. In questo modo si evita che tentativi ripetuti dopo un errore di rete avviino più processi di formazione, ma dovrete fornire un valore personalizzato per i vostri casi d'uso. Per ulteriori informazioni, vedere CreateModel.

Il completamento dell’addestramento richiede tempo. Per verificare lo stato attuale, chiamate DescribeModel e passate il nome del progetto (specificato nella chiamata aCreateProject) e la versione del modello. Il status campo indica lo stato attuale dell'addestramento del modello. Per il codice di esempio, consulta Visualizzazione dei modelli (SDK).

Se la formazione ha successo, puoi valutare il modello. Per ulteriori informazioni, consulta Come migliorare il modello Amazon Lookout for Vision.

Per visualizzare i modelli che hai creato in un progetto, chiamaListModels. Per il codice di esempio, consulta Visualizzazione dei modelli.

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

  2. Usa il seguente codice di esempio per addestrare un modello.

    CLI

    Imposta i valori seguenti:

    • project-nameal nome del progetto che contiene il modello che desideri creare.

    • output-confignella posizione in cui si desidera salvare i risultati dell'allenamento. Sostituisci i valori seguenti:

      • output bucketcon il nome del bucket Amazon S3 in cui Amazon Lookout for Vision salva i risultati della formazione.

      • output foldercon il nome della cartella in cui desideri salvare i risultati dell'allenamento.

      • Keycon il nome di una chiave tag.

      • Valuecon un valore a cui associarsitag_key.

    aws lookoutvision create-model --project-name "project name"\ --output-config '{ "S3Location": { "Bucket": "output bucket", "Prefix": "output folder" } }'\ --tags '[{"Key":"Key","Value":"Value"}]' \ --profile lookoutvision-access
    Python

    Questo codice è tratto dal GitHub repository AWS Documentation SDK examples. Guarda l'esempio completo qui.

    @staticmethod def create_model( lookoutvision_client, project_name, training_results, tag_key=None, tag_key_value=None, ): """ Creates a version of a Lookout for Vision model. :param lookoutvision_client: A Boto3 Lookout for Vision client. :param project_name: The name of the project in which you want to create a model. :param training_results: The Amazon S3 location where training results are stored. :param tag_key: The key for a tag to add to the model. :param tag_key_value - A value associated with the tag_key. return: The model status and version. """ try: logger.info("Training model...") output_bucket, output_folder = training_results.replace("s3://", "").split( "/", 1 ) output_config = { "S3Location": {"Bucket": output_bucket, "Prefix": output_folder} } tags = [] if tag_key is not None: tags = [{"Key": tag_key, "Value": tag_key_value}] response = lookoutvision_client.create_model( ProjectName=project_name, OutputConfig=output_config, Tags=tags ) logger.info("ARN: %s", response["ModelMetadata"]["ModelArn"]) logger.info("Version: %s", response["ModelMetadata"]["ModelVersion"]) logger.info("Started training...") print("Training started. Training might take several hours to complete.") # Wait until training completes. finished = False status = "UNKNOWN" while finished is False: model_description = lookoutvision_client.describe_model( ProjectName=project_name, ModelVersion=response["ModelMetadata"]["ModelVersion"], ) status = model_description["ModelDescription"]["Status"] if status == "TRAINING": logger.info("Model training in progress...") time.sleep(600) continue if status == "TRAINED": logger.info("Model was successfully trained.") else: logger.info( "Model training failed: %s ", model_description["ModelDescription"]["StatusMessage"], ) finished = True except ClientError: logger.exception("Couldn't train model.") raise else: return status, response["ModelMetadata"]["ModelVersion"]
    Java V2

    Questo codice è tratto dal GitHub repository AWS Documentation SDK examples. Guarda l'esempio completo qui.

    /** * Creates an Amazon Lookout for Vision model. The function returns after model * training completes. Model training can take multiple hours to complete. * You are charged for the amount of time it takes to successfully train a model. * Returns after Lookout for Vision creates the dataset. * * @param lfvClient An Amazon Lookout for Vision client. * @param projectName The name of the project in which you want to create a * model. * @param description A description for the model. * @param bucket The S3 bucket in which Lookout for Vision stores the * training results. * @param folder The location of the training results within the S3 * bucket. * @return ModelDescription The description of the created model. */ public static ModelDescription createModel(LookoutVisionClient lfvClient, String projectName, String description, String bucket, String folder) throws LookoutVisionException, InterruptedException { logger.log(Level.INFO, "Creating model for project: {0}.", new Object[] { projectName }); // Setup input parameters. S3Location s3Location = S3Location.builder() .bucket(bucket) .prefix(folder) .build(); OutputConfig config = OutputConfig.builder() .s3Location(s3Location) .build(); CreateModelRequest createModelRequest = CreateModelRequest.builder() .projectName(projectName) .description(description) .outputConfig(config) .build(); // Create and train the model. CreateModelResponse response = lfvClient.createModel(createModelRequest); String modelVersion = response.modelMetadata().modelVersion(); boolean finished = false; DescribeModelResponse descriptionResponse = null; // Wait until training finishes or fails. do { DescribeModelRequest describeModelRequest = DescribeModelRequest.builder() .projectName(projectName) .modelVersion(modelVersion) .build(); descriptionResponse = lfvClient.describeModel(describeModelRequest); switch (descriptionResponse.modelDescription().status()) { case TRAINED: logger.log(Level.INFO, "Model training completed for project {0} version {1}.", new Object[] { projectName, modelVersion }); finished = true; break; case TRAINING: logger.log(Level.INFO, "Model training in progress for project {0} version {1}.", new Object[] { projectName, modelVersion }); TimeUnit.SECONDS.sleep(60); break; case TRAINING_FAILED: logger.log(Level.SEVERE, "Model training failed for for project {0} version {1}.", new Object[] { projectName, modelVersion }); finished = true; break; default: logger.log(Level.SEVERE, "Unexpected error when training model project {0} version {1}: {2}.", new Object[] { projectName, modelVersion, descriptionResponse.modelDescription() .status() }); finished = true; break; } } while (!finished); return descriptionResponse.modelDescription(); }
  3. Al termine dell'allenamento, è possibile valutarne le prestazioni. Per ulteriori informazioni, consulta Come migliorare il modello Amazon Lookout for Vision.