Kurzanleitung für Edge-Gerätemodelle

In dieser Kurzanleitung werden folgende Verfahren erläutert:

  • Bilder in Google Cloud Storage kopieren
  • CSV-Datei zum Auflisten von Bildern und zugehörigen Labels erstellen
  • Mithilfe von AutoML Vision ein Dataset erstellen, ein benutzerdefiniertes AutoML Vision Edge-Modell trainieren und eine Vorhersage treffen
  • AutoML Vision Edge-Modells exportieren und bereitstellen

Hinweis

Projekt einrichten

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. AutoML and Cloud Storage APIs aktivieren.

    Aktivieren Sie die APIs

  5. Installieren Sie das gcloud-Befehlszeilentool.
  6. Folgen Sie der Anleitung, um ein Dienstkonto zu erstellen und eine Schlüsseldatei herunterzuladen.
  7. Legen Sie die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS so fest, dass sie auf die Schlüsseldatei des Dienstkontos verweist. Die Schlüsseldatei haben Sie beim Erstellen des Dienstkontos heruntergeladen.
    export GOOGLE_APPLICATION_CREDENTIALS=key-file
  8. Legen Sie die Umgebungsvariable PROJECT_ID auf Ihre Projekt-ID fest:
    export PROJECT_ID=your-project-id
    Die AutoML API-Aufrufe und Ressourcennamen enthalten Ihre Projekt-ID. Die Umgebungsvariable PROJECT_ID bietet eine bequeme Möglichkeit, die ID anzugeben.
  9. Wenn Sie der Inhaber Ihres Projekts sind, fügen Sie Ihr Dienstkonto der IAM-Rolle AutoML Editor hinzu und ersetzen Sie service-account-name durch den Namen Ihres neuen Dienstkontos. Zum Beispiel: service-account1@myproject.iam.gserviceaccount.com.
    gcloud auth login
    gcloud projects add-iam-policy-binding $PROJECT_ID \
       --member="serviceAccount:service-account-name" \
       --role="roles/automl.editor"
    
  10. Wenn Sie jedoch kein Projektinhaber sind, bitten Sie einen Projektinhaber, der IAM-Rolle AutoML-Editor sowohl Ihre Nutzer-ID als auch das Dienstkonto hinzuzufügen.

Cloud Storage-Bucket erstellen

Verwenden Sie Cloud Shell, eine browserbasierte, mit Ihrem Cloud Console-Projekt verbundene Linux-Befehlszeile, um Ihren Cloud Storage-Bucket zu erstellen:

  1. Öffnen Sie Cloud Shell.

  2. Erstellen Sie einen Google Cloud Storage-Bucket. Der Bucket-Name muss das Format project-id-vcm haben. Mit dem folgenden Befehl wird ein Storage-Bucket in der Region us-central1 mit dem Namen project-id-vcm erstellt. Eine vollständige Liste der verfügbaren Regionen finden Sie auf der Seite Bucket-Standorte.

    gsutil mb -p ${PROJECT_ID} -c regional -l us-central1 gs://${PROJECT_ID}-vcm/

  3. Legen Sie die Variable BUCKET fest.

    export BUCKET=${PROJECT_ID}-vcm

Beispielbilder in den Bucket kopieren

Kopieren Sie als Nächstes das in diesem Tensorflow-Blogpost verwendete Blumen-Dataset. Die Bilder sind in einem öffentlichen Cloud Storage-Bucket gespeichert, sodass Sie sie direkt von dort in Ihren eigenen Bucket kopieren können.

  1. Geben Sie in der Cloud Shell-Sitzung Folgendes ein:

    gsutil -m cp -R gs://cloud-samples-data/ai-platform/flowers/ gs://${BUCKET}/img/
    

    Das Kopieren der Datei dauert ungefähr 20 Minuten.

CSV-Datei erstellen

Das Beispiel-Dataset enthält eine CSV-Datei mit allen Bildspeicherorten und -labels. Damit lässt sich eine eigene CSV-Datei erstellen:

  1. Aktualisieren Sie die CSV-Datei so, dass sie auf die Dateien in Ihrem Bucket verweist:

    gsutil cat gs://${BUCKET}/img/flowers/all_data.csv | sed "s:cloud-ml-data/img/flower_photos/:${BUCKET}/img/flowers/:" > all_data.csv
    
  2. Kopieren Sie die CSV-Datei in Ihren Bucket:

    gsutil cp all_data.csv gs://${BUCKET}/csv/
    

Dataset erstellen

Besuchen Sie die AutoML Vision-UI, um mit dem Erstellen Ihres Datasets und dem Trainieren Ihres Modells zu beginnen.

Wählen Sie bei Aufforderung das Projekt aus, das Sie für Ihren Cloud Storage-Bucket verwendet haben.

  1. Klicken Sie auf der AutoML Vision-Seite auf New Dataset:

    Neue Schaltfläche "Dataset" in der Konsole

  2. Geben Sie einen Namen für dieses Dataset an (optional). Wählen Sie Create dataset aus, um mit dem Erstellen des Datasets fortzufahren.

    Neues Feld "Dataset Name"

  3. Wählen Sie im Bildschirm Select files to import das Optionsfeld  Select a CSV file on Cloud Storage aus. Geben Sie den Cloud Storage-URI Ihrer CSV-Datei an. In dieser Kurzanleitung befindet sich die CSV-Datei unter:

    • gs://${PROJECT_ID}-vcm/csv/all_data.csv

    Ersetzen Sie PROJECT_ID durch Ihre spezifische Projekt-ID.

    Screenshot: Fenster für Dateiimport auswählen

  4. Klicken Sie auf Continue, um den Bildimport zu starten. Der Importvorgang dauert einige Minuten. Sobald der Vorgang abgeschlossen ist, werden Sie zur nächsten Seite weitergeleitet. Dort finden Sie Details zu allen Bildern (mit und ohne Label), die für Ihr Dataset ermittelt wurden.

    Bilder, die nach dem Import aufgelistet werden

Modell trainieren

  1. Sobald Ihr Dataset erstellt und verarbeitet wurde, wählen Sie den Tab Train (Trainieren) aus, um mit dem Modelltraining zu beginnen.

    Tab "Train" auswählen

  2. Wählen Sie Start trainingaus, um fortzufahren. Dadurch wird das Fenster Train new model mit Trainingsoptionen geöffnet.

  3. Ändern Sie im Abschnitt Define your model des neuen Modelltrainingsfensters den Modellnamen (optional) und wählen Sie die Option  Edge-Modell aus. Wählen Sie Continue aus, um zum nächsten Abschnitt zu gelangen.

    Screenshot: Abschnitt zum Definieren des Modells für das Training

  4. Übernehmen Sie im Abschnitt Optimize model for die Option  Best trade-off (Optimal) und wählen Sie Continue aus.

  5. Übernehmen Sie im Abschnitt Set a node hour budget das vorgeschlagene Knotenbudget (4 Knotenstunden).

    Edge-Modell trainieren

  6. Wählen Sie Start training (Training starten), um mit dem Modelltraining zu beginnen.

    Das Training des Modells wird gestartet und sollte etwa eine Stunde dauern. Das Training endet möglicherweise vor der ausgewählten Knotenstunde. Wenn das Training abgeschlossen ist oder ein Fehler auftritt, werden Sie per E-Mail benachrichtigt.

Modell bereitstellen

Bevor Sie Ihr Modell exportieren können, müssen Sie es zum Verwenden bereitstellen.

  1. Wählen Sie zum Bereitstellen des Modells den Tab Test & use aus. Klicken Sie auf dem Tab neben dem Modellnamen auf die Option Deploy model.

  2. Geben Sie dann im Fenster einen Knoten für die Bereitstellung an und wählen Sie Deploy aus, um den Modellbereitstellungsprozess zu starten.

    Screenshot: Knotenstunden für die Bereitstellung auswählen

Sie erhalten eine Benachrichtigung, sobald die Modellbereitstellung abgeschlossen ist.

Modell exportieren

Im letzten Schritt bei der Verwendung eines AutoML Vision Edge-Modells wird das Modell exportiert (optimiert und heruntergeladen) und bereitgestellt (verwendet).

Es gibt verschiedene Möglichkeiten, Ihre Modelle für die Vorhersage auf Edge-Geräten zu exportieren und bereitzustellen.

In dieser Kurzanleitung verwenden Sie Tensorflow Lite (TF Lite) als Beispiel. TF Lite-Modelle sind einfach zu bedienen und bieten eine Vielzahl von Anwendungsfällen.

  1. Wählen Sie auf dem Tab Test und Nutzung im Bereich Use your model (Modell verwenden) die Option TF Lite aus.

    TF Lite-Modell exportieren

  2. Geben Sie im daraufhin angezeigten Fenster TF Lite-Paket exportieren einen Cloud Storage-Bucket-Speicherort an, in das ein TF Lite-Paket exportiert werden soll, und wählen Sie dann Exportieren aus. Der Exportvorgang dauert in der Regel einige Minuten.

    Screenshot: Seitenfenster zum Exportieren des TF Lite-Modells

Am Google Cloud Storage-Zielort befindet sich ein Ordner mit dem Namen für den Zeitstempel und das Modellformat, unter dem Sie die folgenden Dateien finden:

  • eine tflite-Datei (model.tflite)
  • eine Wörterbuchdatei (dict.txt)
  • eine Metadatendatei (tflite_metadata.json)

Nächste Schritte

Mithilfe dieser Dateien können Sie die Anleitungen für folgende Bereitstellungen durcharbeiten: Bereitstellung auf Android-Geräten, iOS-Geräten, Raspberry Pi 3 und im Web.

Andere Nutzungsoptionen für Modelle

  • Sie können das Modell als von CoreML unterstütztes Modell (iOS/macOS) exportieren. Nach dem Training können Sie das Modell exportieren. Wählen Sie dazu auf dem Tab Test und Nutzung die Option CoreML aus und folgen Sie der CoreML-Anleitung
  • Sie können das Modell zur Ausführung auf Edge TPU exportieren. Nach dem Training können Sie das Modell exportieren. Dazu wählen Sie auf dem Tab Test & Use (Test und Nutzung) die Option Coral aus. Nachdem Sie das Modell exportiert haben, folgen Sie der offiziellen Dokumentation von Coral, um eine Inferenz auf die Edge-TPU auszuführen.
  • Sie können das Modell als TensorFlow SavedModel exportieren und mit einem Docker-Container verwenden. Nach dem Training können Sie das Modell exportieren. Dazu wählen Sie dasContainer Option in derTesten und verwenden ein und folgen Sie der Anleitung für Edge-Container in einen Container exportieren.
  • Sie können das Modell zur Verwendung in einem Browser oder in Node.js als Tensorflow.js-Modell exportieren. Nach dem Training können Sie das Modell exportieren. Dazu wählen Sie dasTensorFlow.js Option in derTesten und verwenden ein und folgen Sie der Anleitung für Edge TensorFlow.js auf.

Clean-up

Wenn Sie das benutzerdefinierte Modell oder das Dataset nicht mehr benötigen, können Sie es löschen.

Löschen Sie das Projekt mit der GCP Console, wenn Sie es nicht mehr benötigen. Damit vermeiden Sie unnötige Kosten für die Google Cloud Platform.

Bereitstellung eines Modells entfernen

Während der Bereitstellung fallen für das Modell Gebühren an.

  1. Wählen Sie den Tab Test und Nutzung direkt unter der Titelleiste aus.
  2. Wählen Sie aus dem Banner unterhalb des Modellnamens Remove deployment (Deployment entfernen) aus, um das Fenster zum Aufheben der Bereitstellung zu öffnen.

    Grafik: Pop-up-Menü "Deployment entfernen"

  3. Wählen Sie Remove deployment (Deployment entfernen) aus, um die Bereitstellung des Modells zu entfernen.

    Grafik: Modellbereitstellung

  4. Sie erhalten eine E-Mail, wenn die Bereitstellung vollständig entfernt wurde.

Projekt löschen (optional)

Löschen Sie das Projekt mit der Cloud Console, wenn Sie es nicht mehr benötigen. Damit vermeiden Sie unnötige Kosten für die Google Cloud Platform.