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 mithilfe der ExportModel API in den allgemeinen Formaten Tensorflow Lite und TensorFlow oder im TensorFlow.js for Web-Format in einen Google Cloud Storage-Speicherort exportieren.
Auf Geräte exportieren
TensorFlow Lite-Modelle
Web-UI
Öffnen Sie die AutoML Vision-Benutzeroberfläche für die Objekterkennung 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 Drop-down-Liste rechts oben in der Titelleiste aus.
Klicken Sie auf die Zeile für das Modell, das Sie verwenden möchten, um die Bilder mit Labels zu versehen.
Wählen Sie den Tab Test & use (Test und Nutzung) aus.
Wählen Sie im Abschnitt Use your model (Mein Modell verwenden) die Karte TF Lite aus. Dadurch wird das seitliche Fenster Use your on-device model (Modell auf meinem Gerät verwenden) geöffnet.
Geben Sie im seitlichen Fenster den Google Cloud Storage-Speicherort an. Nachdem Sie den Storage-Speicherort für die Modellausgabe ausgewählt haben, wählen Sie Export (Exportieren) aus, um den Vorgang des Modellexports zu starten.
Nach dem Export können Sie im selben Fenster die Option Open in Google Cloud Storage (In Google Cloud Storage öffnen) auswählen, um direkt zum Exportverzeichnis in Google Cloud Storage zu gelangen.
REST
Geben Sie im Feld "modelFormat"
die Option "tflite"
(Standardeinstellung) an.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- 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
- Modellname:
- 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 print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-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 print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
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 sollten eine JSON-Antwort ähnlich wie diese 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/iod/tflite-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ" } } } }
Daraufhin wird eine Ordnerstruktur im von Ihnen angegebenen Verzeichnis (CLOUD_STORAGE_BUCKET/[DIRECTORY]) angezeigt. Die erstellte Ordnerstruktur hat folgendes allgemeines Format (Zeitstempel im Format ISO-8601):
CLOUD_STORAGE_BUCKET/model-export/iod/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
Beispiel:
CLOUD_STORAGE_BUCKET/model-export/iod/tf-saved-model-DATASET_NAME-2019-07-22T21:25:35.135Z
CLOUD_STORAGE_BUCKET/model-export/iod/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.
In einen Container exportieren
Web-UI
Öffnen Sie die AutoML Vision-Benutzeroberfläche für die Objekterkennung 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 Drop-down-Liste rechts oben in der Titelleiste aus.
Klicken Sie auf die Zeile für das Modell, das Sie verwenden möchten, um die Bilder mit Labels zu versehen.
Wählen Sie den Tab Test & use (Test und Nutzung) aus.
Wählen Sie im Abschnitt Use your model (Mein Modell verwenden) die Karte TF Lite aus. Dadurch wird das seitliche Fenster Use your on-device model (Modell auf meinem Gerät verwenden) geöffnet.
Geben Sie im seitlichen Fenster den Google Cloud Storage-Speicherort an. Nachdem Sie den Storage-Speicherort für die Modellausgabe ausgewählt haben, wählen Sie Export (Exportieren) aus, um den Vorgang des Modellexports zu starten.
Nach dem Export können Sie im selben Fenster die Option Open in Google Cloud Storage (In Google Cloud Storage öffnen) auswählen, um direkt zum Exportverzeichnis in Google Cloud Storage zu gelangen.
REST
Geben Sie im Feld "modelFormat"
die Option "tf-saved-model"
an.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- 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
- Modellname:
- 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 print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-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 print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
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 sollten eine JSON-Antwort ähnlich wie diese 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/iod/tf-saved-model-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ" } } } }
Daraufhin wird eine Ordnerstruktur im von Ihnen angegebenen Verzeichnis (CLOUD_STORAGE_BUCKET/[DIRECTORY]) angezeigt. Die erstellte Ordnerstruktur hat folgendes allgemeines Format (Zeitstempel im Format ISO-8601):
CLOUD_STORAGE_BUCKET/model-export/iod/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
Beispiel:
CLOUD_STORAGE_BUCKET/model-export/iod/tf-saved-model-DATASET_NAME-2019-07-22T21:25:35.135Z
CLOUD_STORAGE_BUCKET/model-export/iod/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.
Für das Web exportieren
Web-UI
-
Öffnen Sie Vision Dashboard und wählen Sie in der seitlichen Navigationsleiste das Glühbirnensymbol aus, um sich die verfügbaren Modelle anzeigen zu lassen.
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.
-
Klicken Sie auf die Zeile für das Modell, das Sie verwenden möchten, um die Bilder mit Labels zu versehen.
-
Wählen Sie den Tab Test & Use (Test und Nutzung) direkt unter der Titelleiste aus.
-
Wählen Sie im Bereich Use your model (Modell verwenden) die Option Tensorflow.js aus. Nachdem Sie die Option Tensorflow.js ausgewählt und im Seitenfenster den Cloud Storage-Exportspeicherort angegeben haben, klicken Sie auf Exportieren, um Ihr webfähiges TensorFlow.js-Modell zu exportieren.
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- 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
- Modellname:
- 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 print-access-token)" \
-H "x-goog-user-project: project-id" \
-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 print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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 sollten eine JSON-Antwort ähnlich wie diese 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 Labeldatei mit der Bezeichnung dict.txt
und eine Datei model.json
.