Ein Dataset enthält repräsentative Beispiele für den zu klassifizierenden Inhaltstyp und ist mit Labels und Begrenzungsrahmen versehen. Das Dataset dient als Eingabe zum Trainieren eines Modells.
Die wesentlichen Schritte zum Erstellen eines Datasets sind:
- Dataset erstellen und diesem einen einprägsamen Namen geben.
- Datenbeispiele importieren und in das Dataset einfügen
- Importierte Bildannotationen ändern (optional), um Begrenzungsrahmen und Labels zu Ihren Bildern hinzuzufügen, zu löschen oder zu ändern
Dataset erstellen
Der erste Schritt beim Erstellen eines benutzerdefinierten Modells mit der AutoML API besteht darin, ein leeres Dataset zu erstellen, das mit den Trainingsdaten für das Modell gefüllt wird.
Ab dem GA-Release (General Availability, allgemeine Verfügbarkeit) der AutoML Vision-Objekterkennung gibt diese Anfrage die ID eines lang andauernden Vorgangs zurück.
Sobald der lang andauernde Vorgang abgeschlossen ist, können Sie mit dem Importieren von Bildern beginnen. Das neu erstellte Dataset enthält keine Daten, solange noch keine Bilder darin importiert wurden.
Speichern Sie die Dataset-ID des neuen Datasets aus der Antwort, um sie für andere Vorgänge zu verwenden, z. B. zum Importieren von Bildern in Ihr Dataset oder zum Trainieren eines Modells.
Web-UI
Über die Benutzeroberfläche der AutoML Vision-Objekterkennung können Sie ein neues Dataset erstellen und Bilder von derselben Seite in das Dataset importieren.Öffnen Sie die UI der AutoML Vision-Objekterkennung.
Auf der Seite Datasets wird der Status zuvor erstellter Datasets für das aktuelle Projekt angezeigt.
Wenn Sie ein Dataset für ein anderes Projekt hinzufügen möchten, wählen Sie das Projekt in der Drop-down-Liste oben rechts in der Titelleiste aus.
Klicken Sie in der Titelleiste auf die Schaltfläche Neues Dataset.
Geben Sie im Pop-up-Fenster Neues Dataset erstellen einen Namen für das Dataset ein und wählen Sie die Option „Dataset erstellen“ aus.
Nachdem Sie ein leeres Dataset erstellt haben, gelangen Sie zum Tab Importieren auf der Seite mit den Dataset-Details. Sie können dann den Google Cloud Storage-Speicherort der CSV-Datei mit den Trainingsbildern angeben, die in das Dataset aufgenommen werden sollen. Diese Trainingsbilder müssen ebenfalls in einem Google Cloud Storage-Bucket gespeichert werden.
Um ein Dataset zu erstellen, müssen Sie eine CSV-Datei hochladen, die die Trainingsbilder mit den zugehörigen Begrenzungsrahmen und Labels aus Google Cloud Storage enthält.
Nach Abschluss des Imports können Sie Annotationen ändern, der Benutzeroberfläche hinzufügen oder daraus entfernen.
Wählen Sie Importieren aus.
Sie werden zur Seite Datasets zurückgeleitet. Für Ihr Dataset wird während des Imports der Bilder eine animierte Fortschrittsanzeige eingeblendet. Dieser Vorgang dauert ungefähr 10 Minuten pro 1.000 Beispiele, kann aber auch mehr oder weniger Zeit in Anspruch nehmen.
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- project-id: die ID Ihres GCP-Projekts.
- display-name: ein anzuzeigender Stringname Ihrer Wahl.
HTTP-Methode und URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets
JSON-Text der Anfrage:
{ "displayName": "DISPLAY_NAME", "imageObjectDetectionDatasetMetadata": { } }
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/datasets"
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/datasets" | 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 IOD3819960680614725486
). Ein Beispiel finden Sie unter Mit lang andauernden Vorgängen arbeiten.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/IOD3819960680614725486", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-11-14T16:49:13.667526Z", "updateTime": "2019-11-14T16:49:13.667526Z", "createDatasetDetails": {} } }
Sobald der lang andauernde Vorgang abgeschlossen ist, können Sie die ID des Datasets über die gleiche Anfrage zum Vorgangsstatus abrufen. Die Antwort sollte in etwa so aussehen:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/IOD3819960680614725486", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-11-14T16:49:13.667526Z", "updateTime": "2019-11-14T16:49:17.975314Z", "createDatasetDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.automl.v1.Dataset", "name": "projects/PROJECT_ID/locations/us-central1/datasets/IOD5496445433112696489" } }
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 Referenzdokumentation zur AutoML Vision-Objekterkennung für Ruby auf.
Bilder in ein Dataset importieren
Nachdem Sie ein Dataset erstellt haben, können Sie Bild-URIs und mit Labels versehene Begrenzungsrahmen aus einer CSV-Datei importieren, die in einem Google Cloud Storage-Bucket gespeichert ist.
Weitere Informationen zum Vorbereiten von Daten und Erstellen einer CSV-Datei zum Importieren finden Sie unter Trainingsdaten vorbereiten. Weitere Informationen zum Ändern von Bildannotationen, nachdem die Bilder importiert wurden, finden Sie unter Importierte Trainingsbilder annotieren.
Sie können Bilder in ein leeres Dataset oder ein Dataset importieren, das bereits Trainingsbilder enthält.
Web-UI
Für die AutoML Vision-Objekterkennung werden die Dataset-Erstellung und der Bildimport auf der Benutzeroberfläche in aufeinanderfolgenden Schritten zusammengefasst.
Bilder in ein leeres Dataset importieren:
Bei der nachfolgenden Dataset-Erstellung werden Sie aufgefordert, Bilder direkt nach dem Erstellen eines leeren Datasets zu importieren. Dieser Importschritt ist jedoch zu diesem Zeitpunkt nicht erforderlich.
Führen Sie die folgenden Schritte aus, um Bilder in ein leeres Dataset zu importieren:
Wählen Sie das leere Dataset von der Seite Datasets aus.
Auf der Seite Importieren fügen Sie den Google Cloud Storage-Speicherort Ihrer CSV-Datei hinzu. Nachdem Sie den Speicherort Ihrer CSV-Datei in Google Cloud Storage angegeben haben, wählen Sie Importieren aus, um den Dateiimport zu starten.
Bilder in ein nicht leeres Dataset importieren:
Sie haben die Möglichkeit, einem Dataset, das bereits Trainingsbilder enthält, weitere Trainingsbilder hinzuzufügen.
Führen Sie die folgenden Schritte aus, um Trainingsbilder einem nicht leeren Dataset hinzuzufügen:
Wählen Sie das nicht leere Dataset auf der Seite Datasets aus.
Nach Auswahl des nicht leeren Datasets gelangen Sie zur Seite mit den Dataset-Details.
Wählen Sie auf der Seite Dataset-Details den Tab Importieren aus.
Nach Auswahl des Tabs Importieren gelangen Sie zur Seite Dataset erstellen. Sie können dann den Google Cloud Storage-Speicherort Ihrer CSV-Datei angeben und Importieren auswählen, um den Bildimport zu starten.
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:
- input-storage-path: der Pfad zu einer in Google Cloud Storage gespeicherten CSV-Datei. Der anfragende Nutzer muss mindestens die Leseberechtigung für den Bucket haben.
HTTP-Methode und URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/DATASET_ID:importData
JSON-Text der Anfrage:
{ "inputConfig": { "gcsSource": { "inputUris": ["INPUT_STORAGE_PATH"] } } }
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/datasets/DATASET_ID:importData"
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/datasets/DATASET_ID:importData" | Select-Object -Expand Content
Die Ausgabe sieht in etwa so aus: Sie können den Status der Aufgabe anhand der Vorgangs-ID abrufen. Ein Beispiel finden Sie unter Mit lang andauernden Vorgängen arbeiten.
{ "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-29T15:56:29.176485Z", "importDataDetails": {} } }
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 Referenzdokumentation zur AutoML Vision-Objekterkennung für Ruby auf.
Im Thema Importierte Trainingsbilder annotieren wird erläutert, wie Sie den Bildern auf der Benutzeroberfläche manuell Begrenzungsrahmen und Labels hinzufügen sowie Label-Statistiken auflisten.
Das Thema Datasets verwalten enthält weitere Informationen zur Verwendung von Dataset-Ressourcen, z. B. zum Auflisten, Abrufen, Exportieren oder Löschen von Datasets.
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 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 AutoML Vision-Referenzdokumentation für .NET auf.
PHP Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Vision-Referenzdokumentation 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-Referenzdokumentation für Ruby auf.