Trainieren Ihres Modells - Amazon Lookout für Vision

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.

Trainieren Ihres Modells

Nachdem Sie Ihre Datensätze erstellt und die Bilder beschriftet haben, können Sie Ihr Modell trainieren. Im Rahmen des Trainingsprozesses wird ein Testdatensatz verwendet. Wenn Sie ein einzelnes Datensatzprojekt haben, werden die Bilder im Datensatz im Rahmen des Trainingsprozesses automatisch in einen Testdatensatz und einen Trainingsdatensatz aufgeteilt. Wenn Ihr Projekt über einen Trainings- und einen Testdatensatz verfügt, werden diese verwendet, um den Datensatz separat zu trainieren und zu testen.

Nach Abschluss des Trainings können Sie die Leistung des Modells bewerten und gegebenenfalls Verbesserungen vornehmen. Weitere Informationen finden Sie unter Verbessern Ihres Amazon-Lookout-forVision-Modells.

Um Ihr Modell zu trainieren, erstellt Amazon Lookout for Vision eine Kopie Ihrer ursprünglichen Trainings- und Testbilder. Standardmäßig werden die kopierten Bilder mit einem Schlüssel verschlüsselt, der AWS Eigentümer und Verwalter ist. Sie können sich auch dafür entscheiden, Ihren eigenen AWS Key Management Service (KMS) -Schlüssel zu verwenden. Weitere Informationen finden Sie unter Konzepte des AWS Key Management Service. Ihre Quellbilder sind davon nicht betroffen.

Sie können Ihrem Modell Metadaten in Form von Tags zuweisen. Weitere Informationen finden Sie unter Modelle kennzeichnen.

Jedes Mal, wenn Sie ein Modell trainieren, wird eine neue Version des Modells erstellt. Wenn Sie eine Version eines Modells nicht mehr benötigen, können Sie sie löschen. Weitere Informationen finden Sie unter Löschen eines Modells.

Ihnen wird die Zeit in Rechnung gestellt, die benötigt wird, um Ihr Modell erfolgreich zu trainieren. Weitere Informationen finden Sie unter Trainingszeiten.

Um die vorhandenen Modelle in einem Projekt anzuzeigen,Deine Modelle ansehen.

Anmerkung

Wenn Sie gerade abgeschlossen haben Erstellen Sie Ihren Datensatz oderHinzufügen von Bildern zu Ihrem Datensatz. Auf der Konsole sollte derzeit Ihr Modell-Dashboard angezeigt werden und Sie müssen die Schritte 1 bis 4 nicht ausführen.

Ein Modell (Konsole) trainieren

Das folgende Verfahren zeigt Ihnen, wie Sie Ihr Modell mit der Konsole trainieren.

So trainieren Sie Ihr Modell (Konsole)
  1. Öffnen Sie die Amazon Lookout for Vision Vision-Konsole unter https://console.aws.amazon.com/lookoutvision/.

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

  3. Wählen Sie auf der Seite Projekte das Projekt aus, das das zu trainierende Modell enthält.

  4. Wählen Sie auf der Seite mit den Projektdetails die Option Train Model aus. Die Schaltfläche Modell trainieren ist verfügbar, wenn Sie über genügend beschriftete Bilder verfügen, um das Modell zu trainieren. Wenn die Schaltfläche nicht verfügbar ist, fügen Sie weitere Bilder hinzu, bis Sie genügend beschriftete Bilder haben.

  5. (Optional) Wenn Sie Ihren eigenen AWS KMS Verschlüsselungsschlüssel verwenden möchten, gehen Sie wie folgt vor:

    1. Wählen Sie unter Bilddatenverschlüsselung die Option Verschlüsselungseinstellungen anpassen (erweitert) aus.

    2. Geben Sie in encryption.aws_kms_key den Amazon-Ressourcennamen (ARN) Ihres Schlüssels ein, oder wählen Sie einen vorhandenen Schlüssel aus. AWS KMS Um einen neuen Schlüssel zu erstellen, wählen Sie Create an key. AWS IMS

  6. (Optional) Gehen Sie wie folgt vor, wenn Sie Ihr Modell mit Tags versehen möchten:

    1. Klicken Sie im Abschnitt Tags auf Neuen Tag hinzufügen.

    2. Geben Sie Folgendes ein:

      1. Den Namen des Schlüssels im Feld Schlüssel.

      2. Den Wert des Schlüssels im Feld Wert.

    3. Um weitere Tags hinzuzufügen, wiederholen Sie die Schritte 6a und 6b.

    4. (Optional) Wenn Sie ein Tag entfernen möchten, wählen Sie neben dem Tag, das Sie entfernen möchten, die Option Entfernen aus. Wenn Sie ein zuvor gespeichertes Tag entfernen, wird es entfernt, wenn Sie Ihre Änderungen speichern.

  7. Wählen Sie Train Model.

  8. Wählen Sie im Dialogfenster Möchten Sie Ihr Modell trainieren? Modell trainieren aus.

  9. In der Ansicht Modelle können Sie sehen, dass das Training begonnen hat, und Sie können den aktuellen Status überprüfen, indem Sie die Status Spalte für die Modellversion aufrufen. Das Trainieren eines Modells ist zeitaufwändig.

  10. Wenn das Training abgeschlossen ist, können Sie seine Leistung bewerten. Weitere Informationen finden Sie unter Verbessern Ihres Amazon-Lookout-forVision-Modells.

Ein Modell trainieren (SDK)

Sie verwenden die CreateModelOperation, um das Training, das Testen und die Evaluierung eines Modells zu starten. Amazon Lookout for Vision trainiert das Modell anhand des Trainings- und Testdatensatzes, der mit dem Projekt verknüpft ist. Weitere Informationen finden Sie unter Ein Projekt erstellen (SDK).

Bei jedem Aufruf CreateModel wird eine neue Version des Modells erstellt. Die Antwort von CreateModel enthält die Version des Modells.

Jede erfolgreiche Modellschulung wird Ihnen in Rechnung gestellt. Verwenden Sie den ClientToken Eingabeparameter, um Gebühren aufgrund unnötiger oder versehentlicher Wiederholungen des Modelltrainings durch Ihre Benutzer zu vermeiden. ClientTokenist ein idempotenter Eingabeparameter, der sicherstellt, dass für einen bestimmten Parametersatz CreateModel nur einmal abgeschlossen wird. Ein wiederholter Aufruf von CreateModel mit demselben ClientToken Wert stellt sicher, dass das Training nicht wiederholt wird. Wenn Sie keinen Wert für angeben, fügt dasClientToken, was AWS SDK Sie verwenden, einen Wert für Sie ein. Dadurch wird verhindert, dass bei erneuten Versuchen nach einem Netzwerkfehler mehrere Trainingsjobs gestartet werden. Sie müssen jedoch Ihren eigenen Wert für Ihre eigenen Anwendungsfälle angeben. Weitere Informationen finden Sie unter CreateModel.

Es dauert eine Weile, bis das Training abgeschlossen ist. Um den aktuellen Status zu überprüfen, rufen Sie DescribeModel den Projektnamen (der im Call to angegeben wurdeCreateProject) und die Modellversion an und übergeben Sie sie. Das status Feld zeigt den aktuellen Status des Modelltrainings an. Beispielcode finden Sie unter Ihre Modelle anzeigen (SDK).

Wenn das Training erfolgreich ist, können Sie das Modell auswerten. Weitere Informationen finden Sie unter Verbessern Ihres Amazon-Lookout-forVision-Modells.

Rufen Sie an, um sich die Modelle anzusehen, die Sie in einem Projekt erstellt habenListModels. Beispielcode finden Sie unter Deine Modelle ansehen.

Um ein Modell zu trainieren (SDK)
  1. Falls Sie dies noch nicht getan haben, installieren und konfigurieren Sie den AWS CLI und die AWS SDKs. Weitere Informationen finden Sie unter Schritt 4: Richten Sie das ein AWS CLI and AWS SDKs.

  2. Verwenden Sie den folgenden Beispielcode, um ein Modell zu trainieren.

    CLI

    Ändern Sie die folgenden Werte:

    • project-nameauf den Namen des Projekts, das das Modell enthält, das Sie erstellen möchten.

    • output-configzu dem Speicherort, an dem Sie die Trainingsergebnisse speichern möchten. Ersetzen Sie die folgenden Werte:

      • output bucketmit dem Namen des Amazon S3 S3-Buckets, in dem Amazon Lookout for Vision die Trainingsergebnisse speichert.

      • output foldermit dem Namen des Ordners, in dem Sie die Trainingsergebnisse speichern möchten.

      • Keymit dem Namen eines Tag-Schlüssels.

      • Valuemit einem Wert, dem zugeordnet werden solltag_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

    Dieser Code stammt aus dem AWS GitHub Repository mit SDK Dokumentationsbeispielen. Das vollständige Beispiel finden Sie hier.

    @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

    Dieser Code stammt aus dem AWS GitHub Repository mit SDK Dokumentationsbeispielen. Das vollständige Beispiel finden Sie hier.

    /** * 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. Wenn die Schulung abgeschlossen ist, können Sie ihre Leistung bewerten. Weitere Informationen finden Sie unter Verbessern Ihres Amazon-Lookout-forVision-Modells.