AutoML-Videomodelle unterstützen keine Onlinevorhersagen.
Batchvorhersagen abrufen
Für eine Batchvorhersage geben Sie eine Eingabequelle und einen Ausgabeort an, an dem Vertex AI Vorhersageergebnisse speichert.
Anforderungen an Eingabedaten
Die Eingabe für Batchanfragen gibt die Elemente an, die zur Vorhersage an Ihr Modell gesendet werden sollen. Batchvorhersagen für den AutoML-Videomodelltyp verwenden eine JSON Lines-Datei, um eine Liste von Videos für Vorhersagen anzugeben. Anschließend wird die JSON Lines-Datei in einem Cloud Storage-Bucket gespeichert. Sie können Infinity
für das Feld timeSegmentEnd
angeben, um das Ende des Videos anzugeben. Das folgende Beispiel zeigt eine einzelne Zeile in einer JSON Lines-Eingabedatei.
{'content': 'gs://sourcebucket/datasets/videos/source_video.mp4', 'mimeType': 'video/mp4', 'timeSegmentStart': '0.0s', 'timeSegmentEnd': '2.366667s'}
Eine Batchvorhersage anfordern
Für Batchvorhersageanfragen können Sie die Google Cloud Console oder die Vertex AI API verwenden. Abhängig von der Anzahl der Eingabeelemente, die Sie eingereicht haben, kann die Batchvorhersage eine Weile dauern.
Google Cloud Console
Verwenden Sie die Google Cloud Console, um eine Batchvorhersage anzufordern.
Rufen Sie in der Google Cloud Console im Abschnitt Vertex AI die Seite Batchvorhersagen auf.
Klicken Sie auf Erstellen, um das Fenster Neue Batchvorhersage zu öffnen, und führen Sie die folgenden Schritte aus:
- Geben Sie einen Namen für die Batchvorhersage ein.
- Wählen Sie für Modellname den Namen des Modells aus, das für diese Batchvorhersage verwendet werden soll.
- Geben Sie unter Quellpfad den Cloud Storage-Speicherort an, in dem sich Ihre JSON Lines-Eingabedatei befindet.
- Geben Sie als Zielpfad einen Cloud Storage-Speicherort an, an dem die Ergebnisse der Batchvorhersage gespeichert werden. Das Format der Ausgabe wird durch das Ziel des Modells bestimmt. AutoML-Modelle für Bildziele geben JSON Lines-Ausgabedateien aus.
API
Verwenden Sie die Vertex AI API zum Senden von Batchvorhersageanfragen.
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- LOCATION_ID: Region, in der das Modell gespeichert ist .und der Batchvorhersagejob ausgeführt wird. Beispiel:
us-central1
. - PROJECT_ID: Ihre Projekt-ID.
- BATCH_JOB_NAME: Anzeigename für den Batchjob
- MODEL_ID: Die ID für das Modell, das für Vorhersagen verwendet werden soll
- THRESHOLD_VALUE (optional): Vertex AI gibt nur Vorhersagen zurück, die Konfidenzwerte mit mindestens diesem Wert haben. Der Standardwert ist
0.0
. - URI: Der Cloud Storage-URI, in dem sich die JSON Lines-Eingabedatei befindet
- BUCKET: Ihr Cloud Storage-Bucket
- PROJECT_NUMBER: Die automatisch generierte Projektnummer Ihres Projekts.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs
JSON-Text der Anfrage:
{ "displayName": "BATCH_JOB_NAME", "model": "projects/PROJECT_ID/locations/LOCATION_ID/models/MODEL_ID", "modelParameters": { "confidenceThreshold": THRESHOLD_VALUE, }, "inputConfig": { "instancesFormat": "jsonl", "gcsSource": { "uris": ["URI"], }, }, "outputConfig": { "predictionsFormat": "jsonl", "gcsDestination": { "outputUriPrefix": "OUTPUT_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 "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs"
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" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/us-central1/batchPredictionJobs/BATCH_JOB_ID", "displayName": "BATCH_JOB_NAME", "model": "projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID", "inputConfig": { "instancesFormat": "jsonl", "gcsSource": { "uris": [ "CONTENT" ] } }, "outputConfig": { "predictionsFormat": "jsonl", "gcsDestination": { "outputUriPrefix": "BUCKET" } }, "state": "JOB_STATE_PENDING", "createTime": "2020-05-30T02:58:44.341643Z", "updateTime": "2020-05-30T02:58:44.341643Z", "modelDisplayName": "MODEL_NAME", "modelObjective": "MODEL_OBJECTIVE" }
Sie können den Status des Batch-Jobs mit BATCH_JOB_ID abfragen, bis der Job state
den Wert JOB_STATE_SUCCEEDED
hat.
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.
Batchvorhersageergebnisse abrufen
Vertex AI sendet eine Batchvorhersageausgabe an das angegebene Ziel.
Wenn eine Batchvorhersage abgeschlossen ist, wird die Ausgabe der Vorhersage in dem Cloud Storage-Bucket gespeichert, den Sie in der Anfrage angegeben haben.
Beispielergebnisse für Batchvorhersagen
Das folgende Beispiel zeigt die Batchvorhersage-Ergebnisse aus einem Videoobjekt-Tracking-Modell.
{ "instance": { "content": "gs://bucket/video.mp4", "mimeType": "video/mp4", "timeSegmentStart": "1s", "timeSegmentEnd": "5s" } "prediction": [{ "id": "1", "displayName": "cat", "timeSegmentStart": "1.2s", "timeSegmentEnd": "3.4s", "frames": [{ "timeOffset": "1.2s", "xMin": 0.1, "xMax": 0.2, "yMin": 0.3, "yMax": 0.4 }, { "timeOffset": "3.4s", "xMin": 0.2, "xMax": 0.3, "yMin": 0.4, "yMax": 0.5, }], "confidence": 0.7 }, { "id": "1", "displayName": "cat", "timeSegmentStart": "4.8s", "timeSegmentEnd": "4.8s", "frames": [{ "timeOffset": "4.8s", "xMin": 0.2, "xMax": 0.3, "yMin": 0.4, "yMax": 0.5, }], "confidence": 0.6 }, { "id": "2", "displayName": "dog", "timeSegmentStart": "1.2s", "timeSegmentEnd": "3.4s", "frames": [{ "timeOffset": "1.2s", "xMin": 0.1, "xMax": 0.2, "yMin": 0.3, "yMax": 0.4 }, { "timeOffset": "3.4s", "xMin": 0.2, "xMax": 0.3, "yMin": 0.4, "yMax": 0.5, }], "confidence": 0.5 }] }