Edge-Modelle exportieren

Nachdem Sie ein Modell erstellt (trainiert) haben, können Sie das benutzerdefinierte Modell exportieren.

Nachdem Sie es exportiert haben, können Sie es auf einem Gerät bereitstellen.

Sie können ein Bildklassifizierungsmodell in den folgenden Formaten exportieren:

Auf Geräte exportieren

TensorFlow Lite-Modelle

Web-UI

  1. Öffnen Sie die Vision Dashboard und klicken Sie in der linken Navigationsleiste auf das Glühbirnensymbol, um die verfügbaren Modelle aufzurufen.

    Wählen Sie zum Anzeigen der Modelle für ein anderes Projekt das Projekt in der Dropdown-Liste oben rechts in der Titelleiste aus.

  2. Klicken Sie auf die Zeile für das Modell, das Sie verwenden möchten, um die Bilder mit Labels zu versehen.

  3. Klicken Sie auf den Tab Testen und verwenden direkt unter der Titelleiste.

  4. Wählen Sie im Bereich Modell verwenden die Option TF Lite aus. Nachdem Sie die Option TF Lite ausgewählt und den Cloud Storage-Exportspeicherort im Seitenfenster angegeben haben, klicken Sie auf Exportieren, um Ihr Edge TF Lite-Modell zu exportieren.

    Aktualisierte Option zum Exportieren des TF Lite-Modells Aktualisierte Option zum Exportieren des TF Lite-Modells

REST UND BEFEHLSZEILE

Geben Sie im Feld "modelFormat" die Option "tflite" (Standardeinstellung) an.

Ersetzen Sie diese Werte in den folgenden Anweisungen:

  • project-id: die ID Ihres GCP-Projekts.
  • model-id: die ID Ihres Modells aus der Antwort beim Erstellen des Modells. Sie ist das letzte Element des Modellnamens. Beispiel:
    • Modellname: projects/project-id/locations/location-id/models/IOD4412217016962778756
    • Modell-ID: IOD4412217016962778756
  • output-storage-bucket: ein Google Cloud Storage-Bucket/-Verzeichnis, in dem Ausgabedateien gespeichert werden. Dies wird in folgender Form angegeben: gs://bucket/directory/. Der anfragende Nutzer muss Schreibberechtigung für den Bucket haben.

HTTP-Methode und URL:

POST https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export

JSON-Text der Anfrage:

{
  "outputConfig": {
    "modelFormat": "tflite",
    "gcsDestination": {
      "outputUriPrefix": "output-storage-bucket/"
    },
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export" | Select-Object -Expand Content

Sie müssten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/project-id/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-07-22T21:23:21.643041Z",
    "updateTime": "2019-07-22T21:23:21.643041Z",
    "exportModelDetails": {
      "outputInfo": {
        "gcsOutputDirectory": "output-storage-bucket/model-export/icn/tflite-dataset-name-YYYY-MM-DDThh:mm:ss.sssZ"
      }
    }
  }
}

Als Ergebnis wird in dem von Ihnen bereitgestellten Verzeichnis eine Ordnerstruktur angezeigt (cloud-storage-bucket/[directory]). Die erstellte Ordnerstruktur hat folgendes allgemeines Format (Zeitstempel im ISO-8601-Format):

  • cloud-storage-bucket/model-export/icn/model-type-dataset-name-YYYY-MM-DDThh:mm:ss.sssZ

Beispiel:

  • cloud-storage-bucket/model-export/icn/tf-saved-model-dataset-name-2019-07-22T21:25:35.135Z
  • cloud-storage-bucket/model-export/icn/tflite-dataset-name-2019-07-22T21:23:18.861Z

Der Ordner enthält ein TensorFlow Lite-Modell mit dem Namen model.tflite, eine Labeldatei namens dict.txt und eine tflite_metadata.json-Datei.

Exportiertes Modell verwenden

Nachdem Sie das AutoML Vision Edge-Modell in einen Google Cloud Storage-Bucket exportiert haben, können Sie es auf Android-Geräten, iOS-Geräten oder Raspberry Pi 3 bereitstellen.

Core ML-Modelle

Web-UI

  1. Öffnen Sie das Vision Dashboard und klicken Sie in der linken Navigationsleiste auf das Glühbirnensymbol, um die verfügbaren Modelle aufzurufen.

    Wählen Sie zum Anzeigen der Modelle für ein anderes Projekt das Projekt in der Dropdown-Liste oben rechts in der Titelleiste aus.

  2. Klicken Sie auf die Zeile für das Modell, das Sie verwenden möchten, um die Bilder mit Labels zu versehen.

  3. Klicken Sie auf den Tab Testen und verwenden direkt unter der Titelleiste.

  4. Wählen Sie im Bereich Modell verwenden die Option Core ML aus. Nachdem Sie die Option Core ML ausgewählt und den Cloud Storage-Exportspeicherort im Seitenfenster angegeben haben, klicken Sie auf Exportieren, um das Edge-Modell zu exportieren.

    Option zum Exportieren des Core ML-Modells Option zum Exportieren des Core ML-Modells

REST UND BEFEHLSZEILE

Geben Sie im Feld "modelFormat" die Option "core_ml" an.

Bevor Sie die unten aufgeführten Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • project-id: die ID Ihres GCP-Projekts.
  • model-id: die ID Ihres Modells aus der Antwort beim Erstellen des Modells. Sie ist das letzte Element des Modellnamens. Beispiel:
    • Modellname: projects/project-id/locations/location-id/models/IOD4412217016962778756
    • Modell-ID: IOD4412217016962778756
  • output-storage-bucket: ein Google Cloud Storage-Bucket/-Verzeichnis, in dem Ausgabedateien gespeichert werden. Dies wird in folgender Form angegeben: gs://bucket/directory/. Der anfragende Nutzer muss Schreibberechtigung für den Bucket haben.

HTTP-Methode und URL:

POST https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export

JSON-Text der Anfrage:

{
  "outputConfig": {
    "modelFormat": "core_ml",
    "gcsDestination": {
      "outputUriPrefix": "output-storage-bucket/"
    },
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export" | Select-Object -Expand Content

Sie müssten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/project-id/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-11-12T22:53:55.290584Z",
    "updateTime": "2019-11-12T22:53:55.290584Z",
    "exportModelDetails": {
      "outputInfo": {
        "gcsOutputDirectory": "output-storage-bucket/model-export/icn/core_ml-dataset-name_YYYY-MM-DDThh:mm:ss.sssZ/"
      }
    }
  }
}

Als Ergebnis wird in dem von Ihnen bereitgestellten Verzeichnis eine Ordnerstruktur angezeigt (cloud-storage-bucket/[directory]). Die erstellte Ordnerstruktur hat folgendes allgemeines Format (Zeitstempel im ISO-8601-Format):

  • cloud-storage-bucket/model-export/icn/model-type-dataset-name-YYYY-MM-DDThh:mm:ss.sssZ

Beispiel:

  • cloud-storage-bucket/model-export/icn/tf-saved-model-dataset-name-2019-07-22T21:25:35.135Z
  • cloud-storage-bucket/model-export/icn/tflite-dataset-name-2019-07-22T21:23:18.861Z

Der Ordner enthält ein Core ML-Modell mit dem Namen model.mlmodel und eine Labeldatei dict.txt.

Exportiertes Modell verwenden

Nachdem Sie das AutoML Vision Edge-Modell in einen Google Cloud Storage-Bucket exportiert haben, können Sie es auf iOS-Geräten bereitstellen.

In einen Container exportieren

Web-UI

  1. Öffnen Sie das Vision Dashboard und klicken Sie in der linken Navigationsleiste auf das Glühbirnensymbol, um die verfügbaren Modelle aufzurufen.

    Wenn Sie die Modelle für ein anderes Projekt ansehen möchten, wählen Sie das Projekt in der Dropdown-Liste rechts oben in der Titelleiste aus.

  2. Klicken Sie auf die Zeile für das Modell, das Sie verwenden möchten, um die Bilder mit Labels zu versehen.

  3. Klicken Sie auf den Tab Testen und verwenden direkt unter der Titelleiste.

  4. Wählen Sie im Bereich Modell verwenden die Option Container aus. Nachdem Sie die Option Container ausgewählt und den Cloud Storage-Exportspeicherort im Seitenfenster angegeben haben, klicken Sie auf Exportieren, um Ihr Edge-Modell zu exportieren.

    Option zum Exportieren in Container Option zum Exportieren in Container

REST UND BEFEHLSZEILE

Geben Sie im Feld "modelFormat" die Option "tf-saved-model" an.

Bevor Sie die unten aufgeführten Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • project-id: die ID Ihres GCP-Projekts.
  • model-id: die ID Ihres Modells aus der Antwort beim Erstellen des Modells. Sie ist das letzte Element des Modellnamens. Beispiel:
    • Modellname: projects/project-id/locations/location-id/models/IOD4412217016962778756
    • Modell-ID: IOD4412217016962778756
  • output-storage-bucket: ein Google Cloud Storage-Bucket/-Verzeichnis, in dem Ausgabedateien gespeichert werden. Dies wird in folgender Form angegeben: gs://bucket/directory/. Der anfragende Nutzer muss Schreibberechtigung für den Bucket haben.

HTTP-Methode und URL:

POST https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/${model-id}:export

JSON-Text der Anfrage:

{
  "outputConfig": {
    "modelFormat": "tf-saved-model",
    "gcsDestination": {
      "outputUriPrefix": "output-storage-bucket/"
    },
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/${model-id}:export

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/${model-id}:export" | Select-Object -Expand Content

Sie müssten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/project-id/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-07-22T21:23:21.643041Z",
    "updateTime": "2019-07-22T21:23:21.643041Z",
    "exportModelDetails": {
      "outputInfo": {
        "gcsOutputDirectory": "output-storage-bucket/model-export/icn/tf-saved-model-dataset-name-YYYY-MM-DDThh:mm:ss.sssZ"
      }
    }
  }
}

Als Ergebnis wird in dem von Ihnen bereitgestellten Verzeichnis eine Ordnerstruktur angezeigt (cloud-storage-bucket/[directory]). Die erstellte Ordnerstruktur hat folgendes allgemeines Format (Zeitstempel im ISO-8601-Format):

  • cloud-storage-bucket/model-export/icn/model-type-dataset-name-YYYY-MM-DDThh:mm:ss.sssZ

Beispiel:

  • cloud-storage-bucket/model-export/icn/tf-saved-model-dataset-name-2019-07-22T21:25:35.135Z
  • cloud-storage-bucket/model-export/icn/tflite-dataset-name-2019-07-22T21:23:18.861Z

Der Ordner enthält ein TensorFlow-Modell mit dem Namen saved_model.pb.

Exportiertes Modell verwenden

Nachdem Sie das Modell in einen Google Cloud Storage-Bucket exportiert haben, können Sie mithilfe des exportierten Modells Vorhersagen in einem Docker-Image treffen. Eine Anleitung zum Bereitstellen in einem Container finden Sie hier.

In Edge TPU exportieren

Web-UI

  1. Öffnen Sie das Vision Dashboard und klicken Sie auf das Glühbirnensymbol in der linken Navigationsleiste, um die verfügbaren Modelle anzuzeigen.

    Wählen Sie zum Anzeigen der Modelle für ein anderes Projekt das Projekt in der Dropdown-Liste oben rechts in der Titelleiste aus.

  2. Klicken Sie auf die Zeile für das Modell, das Sie verwenden möchten, um die Bilder mit Labels zu versehen.

  3. Wählen Sie den Tab Test und Nutzung direkt unter der Titelleiste aus.

  4. Wählen Sie im Bereich Modell verwenden die Option Coral aus. Nachdem Sie die Option Coral ausgewählt und den Cloud Storage-Exportspeicherort im Seitenfenster angegeben haben, klicken Sie auf Exportieren, um Ihr Edge-Modell zu exportieren.

    Option zum Exportieren von Coral (edgetpu tflite) Option zum Exportieren von Coral (edgetpu tflite)

REST UND BEFEHLSZEILE

Geben Sie im Feld "modelFormat" die Option "edgetpu_tflite" an.

Bevor Sie die unten aufgeführten Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • project-id: die ID Ihres GCP-Projekts.
  • model-id: die ID Ihres Modells aus der Antwort beim Erstellen des Modells. Sie ist das letzte Element des Modellnamens. Beispiel:
    • Modellname: projects/project-id/locations/location-id/models/IOD4412217016962778756
    • Modell-ID: IOD4412217016962778756
  • output-storage-bucket: ein Google Cloud Storage-Bucket/-Verzeichnis, in dem Ausgabedateien gespeichert werden. Dies wird in folgender Form angegeben: gs://bucket/directory/. Der anfragende Nutzer muss Schreibberechtigung für den Bucket haben.

HTTP-Methode und URL:

POST https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export

JSON-Text der Anfrage:

{
  "outputConfig": {
    "modelFormat": "edgetpu_tflite",
    "gcsDestination": {
      "outputUriPrefix": "output-storage-bucket/"
    },
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export" | Select-Object -Expand Content

Sie müssten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/project-id/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-11-12T22:55:03.554806Z",
    "updateTime": "2019-11-12T22:55:03.554806Z",
    "exportModelDetails": {
      "outputInfo": {
        "gcsOutputDirectory": "output-storage-bucket/model-export/icn/edgetpu_tflite-dataset-name_YYYY-MM-DDThh:mm:ss.sssZ/"
      }
    }
  }
}

Als Ergebnis wird in dem von Ihnen bereitgestellten Verzeichnis eine Ordnerstruktur angezeigt (cloud-storage-bucket/[directory]). Die erstellte Ordnerstruktur hat folgendes allgemeines Format (Zeitstempel im ISO-8601-Format):

  • cloud-storage-bucket/model-export/icn/model-type-dataset-name-YYYY-MM-DDThh:mm:ss.sssZ

Beispiel:

  • cloud-storage-bucket/model-export/icn/tf-saved-model-dataset-name-2019-07-22T21:25:35.135Z
  • cloud-storage-bucket/model-export/icn/tflite-dataset-name-2019-07-22T21:23:18.861Z

Der Ordner enthält ein TensorFlow Lite-Modell mit dem Namen edgetpu_model.tflite, eine Labeldatei namens dict.txt und eine tflite_metadata.json-Datei.

Exportiertes Modell verwenden

Weitere Informationen zur Bereitstellung in Edge TPU finden Sie in der offiziellen Dokumentation von Coral, um eine Inferenz auf die Edge TPU auszuführen.

Für das Web exportieren

Web-UI

  1. theffnen Sie Vision Dashboard und wählen Sie in der seitlichen Navigationsleiste das Glühbirnensymbol aus, um die verfügbaren Modelle anzuzeigen.

    Wenn Sie die Modelle für ein anderes Projekt ansehen möchten, wählen Sie das Projekt in der Drop-down-Liste rechts oben in der Titelleiste aus.

  2. Klicken Sie auf die Zeile für das Modell, das Sie verwenden möchten, um die Bilder mit Labels zu versehen.

  3. Wählen Sie den Tab Test & Use (Test und Nutzung) direkt unter der Titelleiste aus.

  4. Wählen Sie im Bereich Use your model (Modell verwenden) die Option Tensorflow.js aus. Nachdem Sie die Option Tensorflow.js ausgewählt und den Cloud Storage-Exportspeicherort im Seitenfenster angegeben haben, klicken Sie auf Export (Exportieren), um Ihr webfähiges TensorFlow zu exportieren.js-Modell.

    Screenshot: Option "Tensorflow.js exportieren" Screenshot: Option "Tensorflow.js exportieren"

REST & CMD LINE

Bevor Sie die unten aufgeführten Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • project-id: die ID Ihres GCP-Projekts.
  • model-id: die ID Ihres Modells aus der Antwort beim Erstellen des Modells. Sie ist das letzte Element des Modellnamens. Beispiel:
    • Modellname: projects/project-id/locations/location-id/models/IOD4412217016962778756
    • Modell-ID: IOD4412217016962778756
  • output-storage-bucket: ein Google Cloud Storage-Bucket/-Verzeichnis, in dem Ausgabedateien gespeichert werden. Dies wird in folgender Form angegeben: gs://bucket/directory/. Der anfragende Nutzer muss Schreibberechtigung für den Bucket haben.

HTTP-Methode und URL:

POST https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export

JSON-Text der Anfrage:

{
  "outputConfig": {
    "modelFormat": "tf_js",
    "gcsDestination": {
      "outputUriPrefix": "output-storage-bucket/"
    },
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id:export" | Select-Object -Expand Content

Sie müssten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/project-id/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-07-22T21:23:21.643041Z",
    "updateTime": "2019-07-22T21:23:21.643041Z",
    "exportModelDetails": {
      "outputInfo": {
        "gcsOutputDirectory": "output-storage-bucket/model-export/icn/tf_js-dataset-name-YYYY-MM-DDThh:mm:ss.sssZ"
      }
    }
  }
}

Als Ergebnis sehen Sie einen Ordner in dem von Ihnen bereitgestellten Verzeichnis (${USER_GCS_PATH}). Der erstellte Ordner wird nach dem Zeitstempel im Format /model-export/icn/tf_js-dataset-name-YYYY-MM-DDThh:mm:ss.sssZ (z. B. tf_js-edge_model-2019-10-03T17:24:46.999Z) benannt.

Der Ordner enthält Binärdateien (.bin), eine Label-Datei mit der Bezeichnung dict.txt und eine model.json-Datei.

Beispiel für den Ordner Tensorflow.js