Ein Dataset enthält repräsentative Beispiele für den zu klassifizierenden Inhaltstyp und ist mit den Kategorielabels gekennzeichnet, die das benutzerdefinierte Modell verwenden soll. Das Dataset dient als Eingabe zum Trainieren eines Modells.
Die wesentlichen Schritte zum Erstellen eines Datasets sind:
- Erstellen Sie ein Dataset und geben Sie an, ob für jedes Element mehrere Labels zulässig sein sollen.
- Importieren Sie Datenelemente in das Dataset.
- Sie versehen die Elemente mit Labels.
Wenn Sie Elemente mit bereits zugewiesenen Labels importieren, werden Schritte 2 und 3 zu einem zusammengefasst.
Dataset erstellen
Der erste Schritt zum Erstellen eines benutzerdefinierten Modells besteht darin, ein leeres Dataset zu erstellen, das mit den Trainingsdaten für das Modell gefüllt wird. Wenn Sie ein Dataset erstellen, geben Sie den Klassifizierungstyp an, den das benutzerdefinierte Modell ausführen soll:
- MULTICLASS weist jedem klassifizierten Bild ein einzelnes Label zu
- MULTILABEL kann einem Bild mehrere Labels zuweisen
Ab Version 1 der AutoML API 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
Öffnen Sie das Vision Dashboard.
Sie können diese Seite auch über die Console über das linke Navigationsmenü aufrufen: Künstliche Intelligenz > Vision. Dadurch gelangen Sie zum integrierten Vision-Dashboard. Wählen Sie die AutoML Vision-Karte aus.
Wählen Sie Datasets aus dem linken Navigationsmenü aus.
Wählen Sie oben die Option Neues Dataset aus, aktualisieren Sie den Dataset-Namen und wählen Sie entsprechend den vorhandenen Daten
Klassifizierung mit einem einzigen Label oder Klassifizierung mit mehreren Labels aus.Nachdem Sie den Klassifizierungstyp festgelegt haben, wählen Sie Dataset erstellen aus.
Auf der Seite Dataset erstellen können Sie eine CSV-Datei aus Google Cloud Storage oder lokale Bilddateien für den Import in das Dataset auswählen.
Wählen Sie Weiter aus, um den Bildimport in Ihr Dataset zu starten. Während des Imports zeigt das Dataset den Status Wird ausgeführt: Bilder importieren.
Sie erhalten eine E-Mail, wenn der Import abgeschlossen ist.
REST
Im folgenden Beispiel wird ein Dataset erstellt, das ein Label pro Element unterstützt (siehe MULTICLASS).
Das neu erstellte Dataset enthält keine Daten, solange noch keine Elemente darin importiert wurden.
Speichern Sie den Wert für "name"
des neuen Datasets aus der Antwort für die Verwendung in anderen Vorgängen, z. B. zum Importieren von Elementen in Ihr Dataset und zum Trainieren eines Modells.
Ersetzen Sie diese Werte in den folgenden 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", "imageClassificationDatasetMetadata": { "classificationType": "MULTICLASS" } }
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 ICN3819960680614725486
). Ein Beispiel finden Sie unter Mit lang andauernden Vorgängen arbeiten.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/ICN3819960680614725486", "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/ICN3819960680614725486", "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/ICN5496445433112696489" } }
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 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.
Elemente in ein Dataset importieren
Nachdem Sie ein Dataset erstellt haben, können Sie Element-URIs und Labels für Elemente 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.
Sie können Elemente in ein leeres Dataset importieren oder zusätzliche Elemente in ein vorhandenes Dataset importieren.
Web-UI
Mit der AutoML Vision-Benutzeroberfläche können Sie ein neues Dataset erstellen und Elemente von derselben Seite in dieses Dataset importieren (siehe Dataset erstellen). In den folgenden Schritten werden Elemente in ein vorhandenes Dataset importiert.
Öffnen Sie die Vision Dashboardund wählen Sie das Dataset von der Seite Datasets aus.
Klicken Sie auf der Seite Bilder in der Titelleiste auf Elemente hinzufügen und wählen Sie die Importmethode aus der Dropdown-Liste aus.
Sie haben folgende Möglichkeiten:
Sie können eine CSV-Datei mit den Trainingsbildern und den zugehörigen Kategorielabeln von Ihrem lokalen Computer oder von Google Cloud Storage hochladen.
Sie können TXT- oder ZIP-Dateien, die die Trainingsbilder enthalten, von Ihrem lokalen Computer hochladen.
Wählen Sie die Datei(en) für den Import aus.
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 (in diesem Fall ICN3819960680614725486
). Ein Beispiel finden Sie unter Mit Vorgängen mit langer Ausführungszeit 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.
Trainingselemente mit Labels versehen
Jedem Element in einem Dataset muss mindestens ein Kategorielabel zugewiesen sein, damit es dem Trainieren eines Modells von Nutzen sein kann. Elemente ohne Kategorielabel werden von AutoML Vision ignoriert. Sie können Labels für Ihre Trainingselemente auf drei verschiedene Arten angeben:
- Fügen Sie Labels in die CSV-Datei ein.
- Weitere Informationen zum Labeling von Elementen in einer CSV-Datei finden Sie unter Trainingsdaten vorbereiten.
- Versehen Sie Elemente in der AutoML Vision-Benutzeroberfläche mit Labels
- Labeling von einem Labeling-Dienst wie Google AI Platform Data Labeling Service anfordern
Benutzeroberfläche mit Labels versehen
Web-UI
Wählen Sie das Dataset auf der Seite mit der Dataset-Liste aus, um Elemente in der Benutzeroberfläche von AutoML Vision mit einem Label zu versehen und um Details zum Dataset anzeigen zu lassen.
In der Seitenleiste wird die Anzahl der Elemente mit und ohne Label zusammengefasst. Hier können Sie die Elementliste nach Label filtern oder Neues Label hinzufügen auswählen, um ein neues Label zu erstellen.
Auf diesem Bildschirm können Sie auch das Label eines Bildes hinzufügen oder ändern.
Wählen Sie ein Bild aus, das Sie hinzufügen oder dessen Label Sie ändern möchten.
Labeling anfordern
Sie können den AI Platform Data Labeling Service von Google verwenden, um Ihre Bilder mit Labels zu versehen. Weitere Informationen finden Sie in der Produktdokumentation.
Mit lang andauernden Vorgängen arbeiten
Sie können den Status eines lang andauernden Vorgangs anhand der folgenden Codebeispiele abrufen.
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.