Auf dieser Seite wird gezeigt, wie Sie mithilfe der Google Cloud Console oder der Vertex AI API ein AutoML-Klassifizierungsmodell aus einem Video-Dataset trainieren.
AutoML-Modell trainieren
Google Cloud Console
Rufen Sie in der Google Cloud Console im Abschnitt "Vertex AI" die Seite Datasets auf.
Klicken Sie auf den Namen des Datasets, das Sie zum Trainieren Ihres Modells verwenden möchten, um dessen Detailseite zu öffnen.
Klicken Sie auf Neues Modell trainieren.
Geben Sie den Anzeigenamen für das neue Modell ein.
Wenn Sie die Aufteilung Ihrer Trainingsdaten manuell festlegen möchten, maximieren Sie Erweiterte Optionen und wählen Sie eine Option für die Datenaufteilung aus. Weitere Informationen
Klicken Sie auf Weiter.
Wählen Sie die Modelltrainingsmethode aus.
AutoML
ist eine gute Wahl für eine Vielzahl von Anwendungsfällen.Seq2seq+
ist eine gute Wahl für Experimente. Der Algorithmus konvergiert vermutlich schneller alsAutoML
, da seine Architektur einfacher ist und einen kleineren Suchbereich verwendet. Unsere Experimente haben ergeben, dass Seq2Seq+ mit einem kleinen Budget und Datasets mit einer Größe von weniger als 1 GB gut funktioniert.
Klicken Sie auf Training starten.
Das Modelltraining kann viele Stunden dauern, je nach Größe und Komplexität Ihrer Daten und Ihres Trainingsbudgets, sofern Sie eines angegeben haben. Sie können diesen Tab schließen und später zu ihm zurückkehren. Wenn das Training für Ihr Modell abgeschlossen ist, erhalten eine E-Mail.
Einige Minuten nach dem Start des Trainings können Sie die Schätzung der Knotenstunden für das Training anhand der Attribute des Modells prüfen. Wenn Sie das Training abbrechen, fallen für das aktuelle Produkt keine Kosten an.
API
Wählen Sie unten den Tab für Ihre Sprache oder Umgebung aus:
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- LOCATION: Region, in der sich das Dataset befindet und das Modell gespeichert wird. Beispiel:
us-central1
. - PROJECT: Ihre Projekt-ID.
- MODEL_DISPLAY_NAME: Anzeigename für das neu trainierte Modell.
- DATASET_ID: ID für das Trainings-Dataset.
-
Das
filterSplit
-Objekt ist optional. um die Datenaufteilung zu steuern. Weitere Informationen zur Steuerung der Datenaufteilung finden Sie unter Datenaufteilung mit REST steuern. - PROJECT_NUMBER: Die automatisch generierte Projektnummer Ihres Projekts.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
JSON-Text anfordern:
{ "displayName": "MODE_DISPLAY_NAME", "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_video_classification_1.0.0.yaml", "trainingTaskInputs": {}, "modelToUpload": {"displayName": "MODE_DISPLAY_NAME"}, "inputDataConfig": { "datasetId": "DATASET_ID", "filterSplit": { "trainingFilter": "labels.ml_use = training", "validationFilter": "labels.ml_use = -", "testFilter": "labels.ml_use = test" } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/us-central1/trainingPipelines/2307109646608891904", "displayName": "myModelName", "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_video_classification_1.0.0.yaml", "modelToUpload": { "displayName": "myModelName" }, "state": "PIPELINE_STATE_PENDING", "createTime": "2020-04-18T01:22:57.479336Z", "updateTime": "2020-04-18T01:22:57.479336Z" }
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Datenaufteilung mit REST steuern
Sie können steuern, wie Ihre Trainingsdaten auf die Trainings-, Validierungs- und Test-Datasets aufgeteilt werden. Verwenden Sie bei der Vertex AI API das Objekt Split
, um die Datenaufteilung zu bestimmen. Das Split
-Objekt kann als einer von mehreren Objekttypen in das InputConfig
-Objekt aufgenommen werden. Jedes Objekt bietet eine andere Möglichkeit zur Aufteilung der Trainingsdaten. Sie können nur eine Methode auswählen.
-
FractionSplit
:- TRAINING_FRACTION: Der Anteil der Trainingsdaten, die für das Trainings-Dataset verwendet werden sollen.
- VALIDATION_FRACTION: Der Anteil der Trainingsdaten, die für das Validierungs-Dataset verwendet werden sollen. Nicht für Videodaten verwendet.
- TEST_FRACTION: Der Anteil der Trainingsdaten, die für das Test-Dataset verwendet werden sollen.
Wenn Bruchzahlen angegeben werden, müssen alle angegeben werden. Die Bruchwerte müssen zusammengenommen 1,0 ergeben. Die Standardwerte für die Brüche variieren je nach Datentyp. Weitere Informationen
"fractionSplit": { "trainingFraction": TRAINING_FRACTION, "validationFraction": VALIDATION_FRACTION, "testFraction": TEST_FRACTION },
-
FilterSplit
: - TRAINING_FILTER: Datenelemente, die diesem Filter entsprechen, werden für das Trainings-Dataset verwendet.
- VALIDATION_FILTER: Datenelemente, die diesem Filter entsprechen, werden für das Validierungs-Dataset verwendet. Muss für Videodaten „-” sein.
- TEST_FILTER: Datenelemente, die diesem Filter entsprechen, werden für das Test-Dataset verwendet.
Diese Filter können mit dem Label ml_use
oder mit anderen Labels verwendet werden, die Sie auf Ihre Daten anwenden. Weitere Informationen zum Filtern von Daten finden Sie unter Labels für ml-use verwenden und weitere Labels.
Das folgende Beispiel zeigt, wie das Objekt filterSplit
mit dem Label ml_use
verwendet wird, wobei das Validierungs-Dataset enthalten ist:
"filterSplit": { "trainingFilter": "labels.aiplatform.googleapis.com/ml_use=training", "validationFilter": "labels.aiplatform.googleapis.com/ml_use=validation", "testFilter": "labels.aiplatform.googleapis.com/ml_use=test" }