Bild-Labeling-Modell mit AutoML Vision Edge trainieren

Um ein Bild-Labeling-Modell zu trainieren, stellen Sie AutoML Vision Edge mit einer Reihe von Bilder und entsprechende Labels. AutoML Vision Edge verwendet dieses Dataset zum Trainieren eines neuen Modell in der Cloud, das Sie für die On-Device-Bildbeschriftung in Ihrem (In der Übersicht finden Sie allgemeine Informationen zu diese Funktion nutzen.)

AutoML Vision Edge ist ein Google Cloud-Dienst. Die Nutzung des Dienstes unterliegt den Lizenzvereinbarung für die Google Cloud Platform und dienstspezifische Nutzungsbedingungen, und werden entsprechend abgerechnet. Informationen zur Abrechnung finden Sie auf der AutoML-Preisseite.

Hinweis

1. Trainingsdaten zusammenstellen

Zuerst müssen Sie ein Trainings-Dataset mit gekennzeichneten Bildern zusammenstellen. Beachten Sie dabei die folgenden Richtlinien:

  • Die Bilder müssen in einem der folgenden Formate vorliegen: JPEG, PNG, GIF, BMP oder ICO.

  • Jedes Bild darf maximal 30 MB groß sein. Beachten Sie, dass AutoML Vision Edge während der Vorverarbeitung der meisten Bilder, sodass die Genauigkeit sehr hochauflösende Bilder liefern.

  • Geben Sie mindestens 10, vorzugsweise 100 oder mehr Beispiele jedes Labels an.

  • Verwenden Sie für jedes Label mehrere Blickwinkel, Auflösungen und Hintergründe.

  • Die Trainingsdaten sollten den Daten, für die Vorhersagen getroffen werden sollen, möglichst ähnlich sein. Wenn Ihr Anwendungsfall beispielsweise verschwommene Bilder mit niedriger Auflösung (etwa von einer Überwachungskamera) beinhaltet, sollten Ihre Trainingsdaten aus verschwommenen Bildern mit niedriger Auflösung bestehen.

  • Die von AutoML Vision Edge generierten Modelle sind für Fotos von Objekten aus dem richtigen Leben optimiert. Für Röntgenbilder, Handzeichnungen, gescannte Dokumente, Belege usw.

    Außerdem können die Modelle in der Regel keine Labels vorhersagen, die von Menschen nicht zugewiesen werden können. Wenn also ein Mensch nicht darin unterwiesen werden kann, beim Betrachten eines Bildes innerhalb von 1 bis 2 Sekunden ein Label zuzuweisen, kann Ihr Modell wahrscheinlich auch nicht darin trainiert werden.

Wenn Ihre Trainingsbilder fertig sind, bereiten Sie sie für den Import in Firebase vor. Sie haben drei Möglichkeiten:

Option 1: Strukturiertes ZIP-Archiv

Organisieren Sie Ihre Trainingsbilder in Verzeichnissen, die jeweils nach einem Label und mit Bildern, die Beispiele für dieses Label sind. Komprimieren Sie dann das Verzeichnis, in ein ZIP-Archiv umwandeln.

Die Verzeichnisnamen in diesem ZIP-Archiv können bis zu 32 ASCII-Zeichen lang sein und darf nur alphanumerische Zeichen und den Unterstrich (_) enthalten.

Beispiel:

my_training_data.zip
  |____accordion
  | |____001.jpg
  | |____002.jpg
  | |____003.jpg
  |____bass_guitar
  | |____hofner.gif
  | |____p-bass.png
  |____clavier
    |____well-tempered.jpg
    |____well-tempered (1).jpg
    |____well-tempered (2).jpg

Option 2: Cloud Storage mit CSV-Index

Laden Sie Ihre Trainingsbilder in Google Cloud Storage hoch und erstellen Sie eine CSV-Datei mit der URL jedes Bildes und optional den richtigen Labels für jedes Bild. Diese Option ist hilfreich, wenn Sie sehr große Datenmengen verwenden.

Laden Sie beispielsweise Ihre Bilder auf Cloud Storage hoch und bereiten Sie eine CSV-Datei wie Folgendes:

gs://your-training-data-bucket/001.jpg,accordion
gs://your-training-data-bucket/002.jpg,accordion
gs://your-training-data-bucket/003.jpg,accordion
gs://your-training-data-bucket/hofner.gif,bass_guitar
gs://your-training-data-bucket/p-bass.png,bass_guitar
gs://your-training-data-bucket/well-tempered.jpg,clavier
gs://your-training-data-bucket/well-tempered%20(1).jpg,clavier
gs://your-training-data-bucket/well-tempered%20(2).jpg,clavier

Die Images müssen in einem Bucket gespeichert sein, der zur entsprechendes Google Cloud-Projekt.

Weitere Informationen zum Vorbereiten der CSV-Datei finden Sie in der Cloud AutoML Vision-Dokumentation unter Trainingsdaten vorbereiten.

Option 3: Bilder ohne Label

Fügen Sie den Trainingsbildern in der Firebase-Konsole Labels hinzu, nachdem Sie sie hochgeladen haben. entweder einzeln oder als unstrukturierte ZIP-Datei. Fahren Sie mit dem nächsten Schritt fort.

2. Modell trainieren

Als Nächstes trainieren Sie ein Modell mit Ihren Bildern:

  1. Öffnen Sie in der Google Cloud-Konsole die Seite Vision-Datasets. Wählen Sie Ihr Projekt aus, wenn Sie dazu aufgefordert werden.

  2. Klicken Sie auf Neues Dataset, geben Sie einen Namen für das Dataset an und wählen Sie das Sie trainieren möchten, und klicken Sie auf Dataset erstellen.

  3. Laden Sie auf dem Tab Importieren des Datasets ein ZIP-Archiv Trainingsbilder oder eine CSV-Datei mit den Cloud Storage Standorten, in die sie hochgeladen wurden. Siehe Trainingsdaten zusammenstellen.

  4. Überprüfen Sie nach Abschluss des Importvorgangs auf dem Tab Images (Bilder) die Trainingsdaten und fügen Sie allen Bildern ohne Label ein Label hinzu.

  5. Klicken Sie auf dem Tab Trainieren auf Training starten.

    1. Geben Sie einen Namen für das Modell ein und wählen Sie den Modelltyp Edge aus.

    2. Konfigurieren Sie die folgenden Trainingseinstellungen, die die Leistung des generierten Modells steuern:

      Modell optimieren für... Die zu verwendende Modellkonfiguration. Sie können schnellere, kleinere Modelle trainieren, wenn eine geringe Latenz oder eine kleine Paketgröße wichtig sind, oder langsamere, größere Modelle, wenn die Genauigkeit am wichtigsten ist.
      Knotenstundenbudget

      Die maximale Zeit in Rechenstunden für das Training des modellieren. Eine längere Trainingszeit führt in der Regel zu einem genaueren Modell.

      Das Training kann in weniger als den angegebenen wenn das System feststellt, dass das Modell optimiert ist, zusätzliche Schulungen die Genauigkeit nicht verbessern würden. Ihnen werden nur die tatsächlich genutzten Stunden in Rechnung gestellt.

      Übliche Trainingszeiten
      Sehr kleine Sets1 Stunde
      500 Bilder2 Stunden
      1.000 Bilder3 Stunden
      5.000 Bilder6 Stunden
      10.000 Bilder7 Stunden
      50.000 Bilder11 Stunden
      100.000 Bilder13 Stunden
      1.000.000 Bilder18 Stunden

3. Modell bewerten

Nach Abschluss des Trainings können Sie auf den Tab Bewerten klicken, sehen Sie sich die Leistungsmesswerte für das Modell an.

Diese Seite hilft Ihnen, den Konfidenzgrenzwert zu ermitteln, für Ihr Modell am besten geeignet ist. Der Konfidenzgrenzwert ist das minimale Vertrauen, das das Modell haben muss, um einem Bild ein Label zuzuweisen. Indem Sie den Konfidenzgrenzwert verschieben können Sie sehen, wie sich unterschiedliche Schwellenwerte auf die Leistung des Modells auswirken. Die Modellleistung wird anhand von zwei Messwerten gemessen: Precision und Recall.

Im Kontext der Bildklassifizierung ist die Precision das Verhältnis zwischen der Anzahl der Bilder, die richtig gekennzeichnet wurden, und der Anzahl der Bilder, die das Modell unter Berücksichtigung des ausgewählten Grenzwerts gekennzeichnet hat. Je höher die Precision eines Modells ist, desto seltener werden Labels falsch zugewiesen (weniger falsch positive Ergebnisse).

Die Trefferquote ist das Verhältnis zwischen der Anzahl der Bilder, die korrekt gekennzeichnet wurden, und der Anzahl der Bilder mit Inhalten, die das Modell hätte kennzeichnen können. Wann? ein Modell eine hohe Trefferquote hat, weist es keine Beschriftungen seltener zu (weniger auszuschließende Keywords).

Ob Sie die Genauigkeit oder die Trefferquote optimieren sollten, hängt vom jeweiligen Anwendungsfall ab. Weitere Informationen finden Sie unter für die AutoML Vision-Einsteiger Leitfaden und die Weitere Informationen finden Sie im Leitfaden zu inklusivem ML – AutoML.

Wenn Sie einen Konfidenzgrenzwert mit Messwerten finden, mit denen Sie vertretbar sind, notieren Sie es sich. konfigurieren Sie mithilfe des Konfidenzgrenzwerts Sie können dieses Tool jederzeit verwenden, um einen angemessenen Grenzwert zu ermitteln.

4. Modell veröffentlichen oder herunterladen

Wenn Sie mit der Leistung des Modells zufrieden sind und es in einer App verwenden möchten, haben Sie drei Möglichkeiten, aus denen Sie eine beliebige Kombination auswählen können: das Modell für Onlinevorhersagen bereitstellen, das Modell in Firebase veröffentlichen oder das Modell herunterladen und mit Ihrer App bündeln.

Modell bereitstellen

Auf der Registerkarte Test & Verwenden können Sie Ihr Modell online bereitstellen. Vorhersage, die Ihr Modell in der Cloud ausführt. Weitere Informationen zu dieser Option finden Sie in den Dokumenten zu Cloud AutoML. Die Dokumente auf dieser Website behandeln die verbleibenden beiden Optionen.

Modell veröffentlichen

Wenn Sie das Modell in Firebase veröffentlichen, können Sie es aktualisieren, ohne eine neue App-Version zu veröffentlichen. Mit Remote Config und A/B Testing können Sie unterschiedliche Modelle dynamisch für unterschiedliche Nutzergruppen bereitstellen.

Wenn Sie das Modell nur bei Firebase hosten und nicht mit Ihrer App bündeln, können Sie die ursprüngliche Downloadgröße Ihrer App verringern. Beachten Sie jedoch, dass alle modelbezogenen Funktionen erst verfügbar sind, wenn Ihre App das Modell zum ersten Mal herunterlädt.

Zum Veröffentlichen Ihres Modells haben Sie zwei Möglichkeiten:

  • Laden Sie das TF Lite-Modell aus dem Dataset Test & verwenden im Google Cloud-Konsole und laden Sie das Modell in die Seite Benutzerdefiniertes Modell der Firebase-Konsole. Dies ist normalerweise ein einzelnes Modell zu veröffentlichen.
  • Veröffentlichen Sie das Modell direkt über das Admin SDK aus Ihrem Google Cloud-Projekt in Firebase. Mit dieser Methode können Sie mehrere Modelle gleichzeitig veröffentlichen oder automatisierte Veröffentlichungspipelines erstellen.

So veröffentlichen Sie das Modell mit der Model Management API des Admin SDK:

  1. Installieren und initialisieren Sie das SDK.

  2. Veröffentlichen Sie das Modell.

    Sie müssen die Ressourcen-ID des Modells angeben. Das ist ein String, der in etwa so aussieht:

    projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
    PROJECT_NUMBER Die Projektnummer des Cloud Storage-Buckets, der den modellieren. Das könnte Ihr Firebase-Projekt oder ein anderes Google Cloud sein Projekt arbeiten. Sie finden diesen Wert auf der Seite „Einstellungen“ der Firebase Console oder im Dashboard der Google Cloud Console.
    MODEL_ID Die ID des Modells, die Sie von der AutoML Cloud API erhalten haben.

    Python

    # First, import and initialize the SDK.
    
    # Get a reference to the AutoML model
    source = ml.TFLiteAutoMlSource('projects/{}/locations/us-central1/models/{}'.format(
        # See above for information on these values.
        project_number,
        model_id
    ))
    
    # Create the model object
    tflite_format = ml.TFLiteFormat(model_source=source)
    model = ml.Model(
        display_name="example_model",  # This is the name you will use from your app to load the model.
        tags=["examples"],             # Optional tags for easier management.
        model_format=tflite_format)
    
    # Add the model to your Firebase project and publish it
    new_model = ml.create_model(model)
    new_model.wait_for_unlocked()
    ml.publish_model(new_model.model_id)
    

    Node.js

    // First, import and initialize the SDK.
    
    (async () => {
      // Get a reference to the AutoML model. See above for information on these
      // values.
      const automlModel = `projects/${projectNumber}/locations/us-central1/models/${modelId}`;
    
      // Create the model object and add the model to your Firebase project.
      const model = await ml.createModel({
        displayName: 'example_model',  // This is the name you use from your app to load the model.
        tags: ['examples'],  // Optional tags for easier management.
        tfliteModel: { automlModel: automlModel },
      });
    
      // Wait for the model to be ready.
      await model.waitForUnlocked();
    
      // Publish the model.
      await ml.publishModel(model.modelId);
    
      process.exit();
    })().catch(console.error);
    

Modell herunterladen und mit Ihrer App verknüpfen

Wenn Sie Ihr Modell mit Ihrer App bündeln, können Sie dafür sorgen, dass die ML-Features Ihrer App funktionieren auch, wenn das von Firebase gehostete Modell nicht verfügbar ist.

Wenn Sie das Modell sowohl veröffentlichen als auch mit Ihrer App bündeln, verwendet die App das aktuelle Version verfügbar.

Klicken Sie zum Herunterladen Ihres Modells auf TF Lite im Dataset Test & finden Sie auf der Seite zur Nutzung.

Nächste Schritte

Nachdem Sie das Modell veröffentlicht oder heruntergeladen haben, erfahren Sie hier, wie Sie es in Ihren iOS- und Android-Apps verwenden.