Wenn Sie ein benutzerdefiniertes Modell erstellen möchten, trainieren Sie es mithilfe eines vorbereiteten Datasets. Das Modell wird in der AutoML Vision API mithilfe der Bilder des Datasets trainiert, getestet und evaluate. Sie prüfen die Ergebnisse, passen das Trainings-Dataset nach Bedarf an und trainieren ein neues Modell mithilfe des verbesserten Datasets.
Das Trainieren eines Modells kann mehrere Stunden dauern. Mit der AutoML Vision API haben Sie die Möglichkeit, den Status des Trainings zu prüfen.
Modelle trainieren
Wenn Sie ein Dataset mit einem Satz von annotierten Trainingsbildern mit Begrenzungsrahmen und Labels haben, können Sie das benutzerdefinierte Modell erstellen und trainieren.
Web-UI
Öffnen Sie die AutoML Vision Object Detection UI.
Auf der Seite Datasets werden die verfügbaren Datasets für das aktuelle Projekt angezeigt.
Wählen Sie das Dataset aus, das Sie zum Trainieren des benutzerdefinierten Modells verwenden möchten.
Wenn das Dataset bereit ist, wählen Sie den Tab Trainieren und die Schaltfläche Neues Modell trainieren aus.
Dadurch wird ein Seitenfenster Neues Modell trainieren mit Trainingsoptionen geöffnet.
Geben Sie im Bereich Modell definieren einen Modellnamen an oder übernehmen Sie den Standardnamen. Wählen Sie radio_button_checked In der Cloud gehostet als Modelltyp aus, falls dies nicht bereits festgelegt ist. Nachdem Sie die Option zum Trainieren eines Edge-Modells ausgewählt haben, klicken Sie auf Weiter.
Wählen Sie im folgenden Bereich Modell optimieren für das gewünschte Optimierungskriterium aus: radio_button_checked Höhere Genauigkeit oder Schnellere Vorhersage. Wählen Sie anschließend Weiter aus.
Geben Sie im folgenden Bereich Knotenstundenbudget festlegen das gewünschte Knotenbudget an.
Standardmäßig sollten 24 Knotenstunden ausreichen, damit die meisten Datasets Ihr Modell trainieren können. Dieser empfohlene Wert ist eine Schätzung, mit der das Modell vollständig konvergent wird. Sie können jedoch einen anderen Betrag auswählen. Die Knotenstundenzahl für die Objekterkennung beträgt mindestens 20 Stunden. Für die Bildklassifizierung beträgt der Mindestbetrag 8.
In diesem Bereich können Sie auch die automatische Bereitstellung Ihres Modells nach dem Training aktivieren, wenn Sie check_box Modell nach dem Training auf 1 Knoten bereitstellen auswählen. Andernfalls müssen Sie Ihr Modell nach Abschluss des Trainings manuell bereitstellen.
Wählen Sie Start training (Training starten), um mit dem Modelltraining zu beginnen.
Das Trainieren eines Modells kann mehrere Stunden dauern. Nachdem das Modell erfolgreich trainiert wurde, erhalten Sie eine Nachricht an die E-Mail-Adresse, die Sie für Ihr Google Cloud Platform-Projekt verwendet haben.
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- project-id: die ID Ihres GCP-Projekts.
- dataset-id: die ID Ihres Datasets. Die ID ist das letzte Element des Dataset-Namens. Beispiel:
- Dataset-Name:
projects/project-id/locations/location-id/datasets/3104518874390609379
- Dataset-ID:
3104518874390609379
- Dataset-Name:
- display-name: Ein anzuzeigender Stringname Ihrer Wahl.
Überlegungen zu bestimmten Feldern:
imageObjectDetectionModelMetadata.modelType
gibt eine von zwei verfügbaren Optionen für die Optimierung des Modells an:- Mit
cloud-low-latency-1
optimieren Sie das Training hinsichtlich der Latenz. - Mit
cloud-high-accuracy-1
optimieren Sie das Training hinsichtlich der Genauigkeit. imageObjectDetectionModelMetadata.trainBudgetMilliNodeHours
: Das Trainingsbudget zur Erstellung dieses Modells, ausgedrückt in Milli-Knotenstunden (der Wert 1.000 in diesem Feld bedeutet 1 Knotenstunde). Der tatsächliche Wert vontrainCostMilliNodeHours
ist gleich oder kleiner als dieser Wert. Wenn das weitere Modelltraining keine Verbesserungen mehr bietet, wird es ohne Verwendung des vollen Budgets beendet und der Wert fürstopReason
istMODEL_CONVERGED
.Hinweis: Knotenstunde = tatsächliche Stunden * Anzahl der beteiligten Knoten.
Für den Modelltyp
cloud-high-accuracy-1
(Standard) undcloud-low-latency-1
muss das Trainingsbudget zwischen 20.000 und 2.000.000 Millionen Knotenstunden (einschließlich) liegen. Der Standardwert ist 216.000, was einem tatsächlich verstrichenen Tag entspricht.
HTTP-Methode und URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models
JSON-Text der Anfrage:
{ "displayName": "DISPLAY_NAME", "datasetId": "DATASET_ID", "imageObjectDetectionModelMetadata": { "modelType": "cloud-low-latency-1", "trainBudgetMilliNodeHours": "216000" } }
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"
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" | Select-Object -Expand Content
Die Ausgabe sieht in etwa so aus: Sie können den Status der Aufgabe anhand der Vorgangs-ID abrufen (in diesem Fall IOD3074819451447675546
). Ein Beispiel finden Sie unter Mit Vorgängen mit langer Ausführungszeit arbeiten.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/IOD3074819451447675546", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-07-26T21:10:18.338846Z", "updateTime": "2019-07-26T21:10:18.338846Z", "createModelDetails": {} } }
Go
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Java
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Node.js
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Weitere Sprachen
C# Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur AutoML Vision-Objekterkennung für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur AutoML Vision-Objekterkennung für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Vision Object Detection-Referenzdokumentation für Ruby auf.
Vorgänge auflisten
Verwenden Sie die folgenden Codebeispiele, um die Vorgänge Ihres Projekts aufzulisten und die Ergebnisse zu filtern.
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- project-id: die ID Ihres GCP-Projekts.
HTTP-Methode und URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations" | Select-Object -Expand Content
Welche Ausgabe angezeigt wird, hängt von den angefragten Vorgängen ab.
Sie können die zurückgegebenen Vorgänge auch filtern. Verwenden Sie dafür ausgewählte Suchparameter wie operationId
, done
und worksOn
. Wenn Sie beispielsweise eine Liste der Vorgänge, die bereits ausgeführt wurden, zurückgeben möchten, ändern Sie die URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations?filter="done=true"
Go
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite APIs und Referenz > Clientbibliotheken.
Java
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite APIs und Referenz > Clientbibliotheken.
Node.js
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite APIs und Referenz > Clientbibliotheken.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite APIs und Referenz > Clientbibliotheken.
Weitere Sprachen
C# Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur AutoML Vision-Objekterkennung für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur AutoML Vision-Objekterkennung für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Vision Object Detection-Referenzdokumentation für Ruby auf.
Mit lang andauernden Vorgängen arbeiten
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- project-id: die ID Ihres GCP-Projekts.
- operation-id: ID des Vorgangs. Die ID ist das letzte Element des Vorgangsnamens. Beispiel:
- Name des Vorgangs:
projects/project-id/locations/location-id/operations/IOD5281059901324392598
- Vorgangs-ID:
IOD5281059901324392598
- Name des Vorgangs:
HTTP-Methode und URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID" | Select-Object -Expand Content
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2018-10-29T15:56:29.176485Z", "updateTime": "2018-10-29T16:10:41.326614Z", "importDataDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty" } }
Die Ausgabe für einen abgeschlossenen -Vorgang zum Erstellen eines Modells sollte in etwa so aussehen:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-07-22T18:35:06.881193Z", "updateTime": "2019-07-22T19:58:44.972235Z", "createModelDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.automl.v1.Model", "name": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID" } }
Go
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Java
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Node.js
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Weitere Sprachen
C# Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur AutoML Vision-Objekterkennung für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur AutoML Vision-Objekterkennung für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Vision Object Detection-Referenzdokumentation für Ruby auf.
Vorgang abbrechen
Sie können eine Import- oder Trainingsaufgabe mit der Vorgangs-ID abbrechen.
REST
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: die ID Ihres GCP-Projekts.
- operation-id: ID des Vorgangs. Die ID ist das letzte Element des Vorgangsnamens. Beispiel:
- Name des Vorgangs:
projects/project-id/locations/location-id/operations/IOD5281059901324392598
- Vorgangs-ID:
IOD5281059901324392598
- Name des Vorgangs:
HTTP-Methode und URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID:cancel
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie 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 "" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID:cancel"
PowerShell
Führen Sie 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 `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID:cancel" | Select-Object -Expand Content
{}
Informationen zu einem Modell abrufen
Verwenden Sie die folgenden Codebeispiele, um Informationen zu einem bestimmten trainierten Modell abzurufen. Sie können die von dieser Anfrage zurückgegebenen Informationen verwenden, um den Modus zu ändern oder eine Vorhersageanfrage zu senden.
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:
HTTP-Methode und URL:
GET https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/project-id/locations/us-central1/models/model-id", "displayName": "display-name", "datasetId": "dataset-id", "createTime": "2019-07-26T21:10:18.338846Z", "deploymentState": "UNDEPLOYED", "updateTime": "2019-07-26T22:28:57.464076Z", "imageObjectDetectionModelMetadata": { "modelType": "cloud-low-latency-1", "nodeQps": 1.2987012987012987, "stopReason": "MODEL_CONVERGED", "trainBudgetMilliNodeHours": "216000", "trainCostMilliNodeHours": "8230" } }
Go
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Java
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Node.js
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für diese Sprache auf der Seite Clientbibliotheken.
Weitere Sprachen
C# Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur AutoML Vision-Objekterkennung für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur AutoML Vision-Objekterkennung für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Vision Object Detection-Referenzdokumentation für Ruby auf.