Auf dieser Seite erfahren Sie, wie Sie eine Anwendung erstellen und Komponenten wie Eingabestreams, Modelle zur Analyse und Warehouses zur Datenspeicherung für die Verwendung auf der App-Plattform von Vertex AI Vision kombinieren.
Wenn Sie eine App erstellen, müssen Sie Ihre Datenquellen, die gewünschte Analyse und die Speicherung der Ergebnisse berücksichtigen. Eine End-to-End-App kann je nach Anwendungsfall verschiedene Formen haben. Wie Sie eine App entwickeln, hängt daher von Ihrem Ziel ab.
Bevor Sie beginnen, sollten Sie Ihren Anwendungsfall und Ihr Ziel aus der Perspektive der verantwortungsbewussten KI bewerten und überlegen, welche Auswirkungen Ihre Modelle und Anwendungen auf Ihre Endnutzer haben könnten, wenn etwas schiefgeht. Weitere Informationen zu den ersten Schritten bei der Bewertung Ihres Anwendungsfalls im Hinblick auf Fairness Außerdem müssen Sie dafür sorgen, dass Ihre Nutzung von Vertex AI Vision den Nutzungsbedingungen von Google Cloudoder einer Offlinevariante sowie den eingebundenen URL-Bedingungen wie der Richtlinie zur Fairen Nutzung von Google Cloudentspricht.
Denken Sie beim Erstellen Ihrer Anwendung daran, dass KI-gestützte Bildtechnologien das Potenzial haben, unfaire Voreingenommenheit zu verstärken oder einzuführen und grundlegende Menschenrechte zu beeinträchtigen. Die Entwicklung Ihrer Anwendung sollte ethische Überlegungen auf der Grundlage der Werte Ihres Unternehmens und eine rechtliche Due Diligence für Ihren speziellen Anwendungsfall umfassen, einschließlich Anwendungsfälle mit hohem Risiko. Wie bei allen Technologien müssen Sie alle anwendbaren Gesetze und Bestimmungen zur Nutzung von KI-/ML-Technologien in der Region beachten, in der Sie die Technologie implementieren. Kunden sind für die erforderliche Due-Diligence-Prüfung bei der Implementierung von Anwendungsfällen verantwortlich, die in einer bestimmten Region als hochrisikoreich eingestuft werden.
Neue Anwendung erstellen
Bevor Sie einer App Komponenten wie einen Stream oder Modelle hinzufügen können, müssen Sie die App selbst erstellen. Alle Apps müssen Folgendes enthalten, um bereitgestellt werden zu können:
- Ein Stream-Eingabeknoten (Datenquelle).
- Mindestens ein weiterer Komponentenknoten, z. B. ein Modell oder ein Warehouse.
Neue benutzerdefinierte Anwendung erstellen
Console
Erstellen Sie eine App in der Google Cloud Console.
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Klicken Sie auf die Schaltfläche
Erstellen.Geben Sie den Namen einer App ein und wählen Sie Ihre Region aus. Unterstützte Regionen
Klicken Sie auf Erstellen.
Anwendung mit einer Vorlage erstellen
Console
Erstellen Sie eine App in der Google Cloud Console.
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Klicken Sie auf die Schaltfläche
Erstellen.Geben Sie den Namen einer App ein und wählen Sie Ihre Region aus. Unterstützte Regionen
Klicken Sie auf Erstellen.
Klicken Sie auf der Seite „Application Builder“ (Anwendungs-Builder) auf den Knoten Application template (Anwendungsvorlage).
Klicken Sie im seitlichen Einstellungsbereich auf die Schaltfläche Modell auswählen.
Wählen Sie im Drop-down-Menü ein Modell aus.
Streameingabe hinzufügen
Eine Anwendung muss einen Videostreamknoten enthalten. Wenn Sie keinen Streams-Knoten hinzufügen, können Sie die Anwendung nicht bereitstellen.
Wenn Ihre Anwendung nicht bereitgestellt wird, wird die Aktualisierung der Streameingabe automatisch auf die Anwendung angewendet. Wenn Ihre App bereits bereitgestellt wurde, müssen Sie sie zurückziehen und aktualisieren, damit die Änderungen übernommen werden. Weitere Informationen finden Sie im Abschnitt App aktualisieren.
Console
Fügen Sie einer App in der Google Cloud Console einen Stream hinzu.
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Klicken Sie für Ihre App auf App ansehen.
Wählen Sie in der Seitenleiste der Komponenten Videostreams aus der Liste der Connectors aus. Der Streamknoten wird der App-Grafik hinzugefügt und ein seitliches Menü für Videostreams wird geöffnet.
Wählen Sie Videostreams hinzufügen aus.
Wenn Sie
Aus vorhandenen Streams auswählen auswählen, wählen Sie den vorhandenen Stream und dann Streams hinzufügen aus.Wenn Sie
Neue Streams registrieren auswählen, geben Sie einen Namen für den neuen Stream ein und wählen Sie Streams hinzufügen aus.
REST
Wenn Sie einer App einen Stream hinzufügen möchten, senden Sie eine POST-Anfrage mit der Methode projects.locations.applications.addStreamInput.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT: Ihre Google Cloud Projekt-ID oder Projektnummer.
- LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiel:
us-central1
,europe-west4
. Weitere Informationen finden Sie unter Verfügbare Regionen. - APPLICATION_ID: Die ID der Zielanwendung.
- STREAM_ID: Die ID des Zielstreams.
HTTP-Methode und URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput
JSON-Text der Anfrage:
{ "applicationStreamInputs": [ { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } }, { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } } ] }
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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"
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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content
Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.
Streameingabe mit Knotenanmerkungen hinzufügen
Wenn Sie einen Anwendungs-Eingabestream erstellen, können Sie dem Stream mit der Vertex AI Vision API Anmerkungen hinzufügen. Sie können einem Knoten auch in der Google Cloud Console Anmerkungen hinzufügen.
Console
Im folgenden Beispiel werden einem Modell zur Personenanzahl verfügbare Anmerkungen (STREAM_ANNOTATION_TYPE_ACTIVE_ZONE
und STREAM_ANNOTATION_TYPE_CROSSING_LINE
) hinzugefügt.
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Liste neben dem Namen Ihrer Anwendung die Option App ansehen aus.
Wählen Sie auf der Seite „Application Builder“ das Modell mit dem Streameingang aus, dem Sie Anmerkungen hinzufügen möchten.
Maximieren Sie im seitlichen Bereich für die Modelleinstellungen den Abschnitt „Erweiterte Einstellungen“. Maximieren Sie den Bereich und klicken Sie auf die Schaltfläche Aktive Zonen/Linien erstellen.
Wählen Sie in der Streamgalerieansicht einen Eingabestream aus, um aktive Zonen oder Linien zu zeichnen.
Wählen Sie in der Editoransicht Mehrere Punkte verbinden oder Einfaches Polygon hinzufügen aus, um Anmerkungen hinzuzufügen. Im Seitenbereich können Sie den Namen der Zone oder Linie umbenennen, vorhandene Zonen/Linien löschen oder die Linienrichtung ändern.
REST UND BEFEHLSZEILE
Im folgenden Code werden Stream-Hinweise hinzugefügt.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT: Ihre Google Cloud Projekt-ID oder Projektnummer.
- LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiel:
us-central1
,europe-west4
. Weitere Informationen finden Sie unter Verfügbare Regionen. - APPLICATION_ID: Die ID der Zielanwendung.
- STREAM_ID: Die ID des Zielstreams.
- NODE_NAME: Der Name des Zielknotens aus dem App-Diagramm. Beispiel:
builtin-occupancy-count
- ANNOTATION_ID: Die ID der Zielanmerkung.
- ANNOTATION_DISPLAYNAME: Der vom Nutzer angegebene Anzeigename der Zielanmerkung.
- ANNOTATION_TYPE: Einer der verfügbaren Enum-Werte. Dieser Typ muss mit dem
annotation_payload
-Objekt übereinstimmen, also entwederactiveZone
odercrossingLine
. Verfügbare Werte:STREAM_ANNOTATION_TYPE_UNSPECIFIED
STREAM_ANNOTATION_TYPE_ACTIVE_ZONE
STREAM_ANNOTATION_TYPE_CROSSING_LINE
normalizedVertices
: Jeder Eckpunkt wird durch x- und y-Koordinatenwerte angegeben. Koordinaten sind normalisierte Gleitkommawerte [0,1] relativ zum Originalbild; 0,0 ist X_MIN oder Y_MIN, 1,0 ist X_MAX oder Y_MAX.
HTTP-Methode und URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput
JSON-Text der Anfrage:
{ "applicationStreamInputs": [ { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID", "nodeAnnotations": [ { "node": "NODE_NAME", "annotations": [ { "id": "ANNOTATION_ID", "displayName": "ANNOTATION_DISPLAYNAME", "sourceStream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID", "type": ANNOTATION_TYPE, "activeZone": { "normalizedVertices": { "x": 0.07434944, "y": 0.18061674 }, "normalizedVertices": { "x": 0.64684016, "y": 0.16079295 }, "normalizedVertices": { "x": 0.6047088, "y": 0.92070484 }, "normalizedVertices": { "x": 0.1251549, "y": 0.76651984 } } } ] } ] } } ] }
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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"
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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content
Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.
Streameingabe entfernen
REST
Wenn Sie einen Stream aus einer App entfernen möchten, senden Sie eine POST-Anfrage mit der Methode projects.locations.applications.removeStreamInput.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT: Ihre Google Cloud Projekt-ID oder Projektnummer.
- LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiel:
us-central1
,europe-west4
. Weitere Informationen finden Sie unter Verfügbare Regionen. - APPLICATION_ID: Die ID der Zielanwendung.
- STREAM_ID: Die ID des Zielstreams.
HTTP-Methode und URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput
JSON-Text der Anfrage:
{ "targetStreamInputs": [ { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" }, { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } ] }
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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput"
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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput" | Select-Object -Expand Content
Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.
Vortrainiertes Vertex AI Vision-Modell hinzufügen
Nachdem Sie eine App erstellt haben, können Sie ein Modell hinzufügen und mit Streams, anderen Modellen oder einem Medienspeicher verbinden.
Es gibt zwei Arten von Modellen: vortrainierte Modelle oder vom Nutzer trainierte Modelle. Von Nutzern trainierte Modelle können ebenfalls zwei Typen sein: AutoML oder benutzerdefiniert trainiert:
- Vortrainierte Modelle erfüllen ein bestimmtes Ziel, werden mit generalisierten Daten trainiert und sind sofort einsatzbereit.
- Bei von Nutzern trainierten AutoML- oder benutzerdefinierten Modellen müssen Sie Beispieldaten identifizieren und bereitstellen und dann Modelle trainieren, die besser zu Ihrem individuellen Anwendungsfall passen. Sie trainieren diese Modelle mit Vertex AI, einem Produkt mit zwei Trainingsoptionen: AutoML-geschulte Modelle und benutzerdefinierte Modelle. Weitere Informationen finden Sie unter Trainingsmethode auswählen.
Führen Sie die folgenden Schritte aus, um Ihrer App-Graph ein vortrainiertes Vertex AI Vision-Modell hinzuzufügen.
Console
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Liste neben dem Namen Ihrer Anwendung die Option App ansehen aus.
Wählen Sie auf der Seite „Application Builder“ in der Liste KI-Modelle das Modell aus, das Sie hinzufügen möchten. Jedes Modell hat individuelle Konfigurationseinstellungen.
Wenn Sie dieses Modell mit einem Eingabequellenknoten verbinden möchten, wählen Sie den Quellknoten und dann
Ausgabe hinzufügen aus.Wählen Sie den neu erstellten Knoten für das KI-Modell aus der Liste der verfügbaren Knoten aus.
Von Nutzern trainiertes Vertex AI-Modell hinzufügen
Nachdem Sie eine App erstellt haben, können Sie ein Modell hinzufügen und mit Streams, anderen Modellen oder einem Medienspeicher verbinden.
Es gibt zwei Arten von Modellen: vortrainierte Modelle oder vom Nutzer trainierte Modelle. Von Nutzern trainierte Modelle können ebenfalls zwei Typen sein: AutoML oder benutzerdefiniert trainiert:
- Vortrainierte Modelle erfüllen ein bestimmtes Ziel, werden mit generalisierten Daten trainiert und sind sofort einsatzbereit.
- Bei von Nutzern trainierten AutoML- oder benutzerdefinierten Modellen müssen Sie Beispieldaten identifizieren und bereitstellen und dann Modelle trainieren, die besser zu Ihrem individuellen Anwendungsfall passen. Sie trainieren diese Modelle mit Vertex AI, einem Produkt mit zwei Trainingsoptionen: AutoML-geschulte Modelle und benutzerdefinierte Modelle. Weitere Informationen finden Sie unter Trainingsmethode auswählen.
Vertex AI-AutoML-Streamingmodell zur Objekterkennung hinzufügen
Folgen Sie der Anleitung unten, um Ihrem App-Diagramm ein von Ihnen trainiertes Vertex AI AutoML-Streamingmodell für die Objekterkennung hinzuzufügen.
Bevor Sie ein Vertex AI AutoML-Modell trainieren können, müssen Sie Ihre Daten für die Objekterkennung vorbereiten und ein Dataset erstellen.
Modell für die Verwendung in Vertex AI Vision trainieren
Nachdem Sie in Vertex AI ein Dataset mit einer repräsentativen Datensammlung erstellt haben, können Sie ein Modell für die Verwendung in Vertex AI Vision trainieren.
Console
Rufen Sie in der Google Cloud Console im Vertex AI-Dashboard 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.
Wenn Ihr Datentyp Annotationssätze verwendet, wählen Sie den Annotationssatz aus, den Sie für dieses Modell verwenden möchten.
Klicken Sie auf Neues Modell trainieren.
Führen Sie auf der Seite Neues Modell trainieren die folgenden Schritte für Ihr AutoML-Modell zur Bildobjekterkennung aus:
Wählen Sie im Bereich Modelltrainingsmethode die Option
AutoML aus.Wählen Sie im Abschnitt Speicherort für das Modell wählen die Option
Vertex AI Vision aus.Klicken Sie auf Weiter.
Geben Sie Werte für die Abschnitte Modelldetails, Trainingsoptionen und Computing und Preise ein. Weitere Informationen finden Sie unter AutoML-Modell trainieren (Google Cloud Console).
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.
Trainiertes Modell zur App hinzufügen
Nachdem das Modell trainiert wurde, können Sie es Ihrer Vertex AI Vision App hinzufügen.
Console
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Liste neben dem Namen Ihrer Anwendung die Option App ansehen aus.
Wählen Sie auf der Seite „Application Builder“ in der Liste der Seitenkomponenten die Option Vertex AI-Modell hinzufügen aus. Wenn Sie diese Option auswählen, wird ein Seitenmenü geöffnet.
Lassen Sie im Menü „Vertex AI-Modell hinzufügen“ die Option
Aus Vertex AI ein trainiertes Modell importieren ausgewählt und wählen Sie dann das Modell aus der Liste der vorhandenen Vertex AI AutoML-Modelle aus.Wählen Sie das zu importierende Modell aus und klicken Sie dann auf Modell hinzufügen.
Nachdem Sie auf die Schaltfläche Modell hinzufügen geklickt haben, wird auf der Seite „Diagramm erstellen“ ein ausstehendes Modell angezeigt. Nach wenigen Sekunden ist das Modell einsatzbereit.
Benutzerdefiniertes Vertex AI-Modell hinzufügen
Sie können auch benutzerdefinierte Vertex AI-Modelle in Vertex AI Vision importieren, um sie für die Datenanalyse zu verwenden. Diese benutzerdefiniert trainierten Modelle müssen folgende Eigenschaften haben:
- Das Modell muss zustandslos sein, da die Modelleingaben die Bilder sind, die aus verschiedenen Anwendungsinstanzen (Streams) stammen und möglicherweise nicht in der richtigen Reihenfolge sind. Wenn Sie eine zustandsorientierte Streamingverarbeitung benötigen, müssen Sie die Status möglicherweise in Ihrem eigenen Container aufbewahren.
- Die Eingabegröße für Ihr Modell ist auf 1,5 MB beschränkt. Daher muss Vertex AI Vision das ursprüngliche RGB-Bild in ein verlustbehaftetes Format wie JPG komprimieren.
Folgen Sie der Anleitung unten, um Ihrer App-Graph ein vorhandenes, benutzerdefiniert trainiertes Vertex AI-Videomodell hinzuzufügen.
Informationen zum Erstellen eines benutzerdefiniert trainierten Vertex AI-Modells mit benutzerdefiniertem Container finden Sie unter Benutzerdefinierten Container für Vorhersagen verwenden.
YAML-Datei für Instanzen angeben
Wenn Sie ein benutzerdefiniert trainiertes Vertex AI-Modell hinzufügen, müssen Sie eine in Cloud Storage gespeicherte YAML-Datei für Instanzen (instances.yaml
) angeben. In dieser Datei wird die erwartete Eingabe für Ihren Modellcontainer angegeben.
Vertex AI sendet die Vorhersageanfrage in einem der folgenden Formate:
{
"instances": [
<value>|<simple/nested list>|<object>,
...
]
}
Hier definiert instances.yaml
das Schema der Nutzlast. Weitere Informationen finden Sie unter Onlinevorhersagen aus benutzerdefinierten Modellen abrufen.
Vertex AI Vision unterstützt nur benutzerdefiniert trainierte Modelle mit genau einer benannten Vorhersageeingabe. Dieser Eingabetyp muss ein codierter JPEG-String sein. Das Schema der Eingabe für die Vorhersage muss in der YAML-Datei für das Instanzenschema angegeben werden. Diese YAML-Schemadatei muss im Format eines OpenAPI-Schemaobjekts vorliegen.
Im folgenden Schema wird beispielsweise die Anfrage mit dem Bild empfangen, das in ein Feld mit dem Namen image_bytes
codiert ist:
properties:
image_bytes:
type: string
Ihr benutzerdefiniertes Modell empfängt Vorhersageeingabe im folgenden Format:
{
"instances": [
{
"image_bytes" : {
"b64": "BASE64_ENCODED_IMAGE_BYTES"
}
}
]
}
Bevor Sie das Modell in Vertex AI Vision importieren, prüfen Sie, ob es mit dieser Eingabe richtig funktioniert.
YAML-Datei für Vorhersagen angeben
Wenn Sie ein benutzerdefiniert trainiertes Vertex AI-Modell hinzufügen, können Sie eine in Cloud Storage gespeicherte YAML-Datei für Vorhersagen (predictions.yaml
) angeben. In dieser Datei wird die Ausgabe Ihres Modellcontainers angegeben.
Diese Datei ist optional, wird aber empfohlen, um Vertex AI Vision über die Ausgabestruktur Ihres Modells zu informieren. In der folgenden classification_1.0.0.yaml
-Datei werden beispielsweise die Modellausgabeinformationen für ein Bildklassifizierungsmodell beschrieben:
title: Classification
type: object
description: >
The predicted AnnotationSpecs.
properties:
ids:
type: array
description: >
The resource IDs of the AnnotationSpecs that had been identified.
items:
type: integer
format: int64
enum: [0] # As values of this enum all AnnotationSpec IDs the Model
# was trained on will be populated.
displayNames:
type: array
description: >
The display names of the AnnotationSpecs that had been identified,
order matches the IDs.
items:
type: string
enum: [""] # As values of this enum all AnnotationSpec display_names
# the Model was trained on will be populated.
confidences:
type: array
description: >
The Model's confidences in correctness of the predicted IDs, higher
value means higher confidence. Order matches the Ids.
items:
type: number
format: float
minimum: 0.0
maximum: 1.0
Benutzerdefiniert trainiertes Modell hinzufügen
Verwenden Sie das folgende Beispiel, um Ihrer App das benutzerdefinierte Vertex AI-Modell hinzuzufügen.
Console
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Liste neben dem Namen Ihrer Anwendung die Option App ansehen aus.
Wählen Sie auf der Seite „Application Builder“ in der Liste der Seitenkomponenten die Option Vertex AI-Modell hinzufügen aus. Wenn Sie diese Option auswählen, wird ein Seitenmenü geöffnet.
Lassen Sie im Menü „Vertex AI-Modell hinzufügen“ die Option
Aus Vertex AI ein trainiertes Modell importieren ausgewählt und wählen Sie dann das Modell aus der Liste der vorhandenen Vertex AI AutoML-Modelle aus.Geben Sie einen Namen für das Modell ein.
Geben Sie die YAML-Datei für Instanzen in Cloud Storage an, die das Format einer einzelnen Instanz definiert, die in Vorhersage- und Erklärungsanfragen verwendet wird.
Optional: Geben Sie die YAML-Datei des Vorhersageschemas in Cloud Storage an, die das Format einer einzelnen Vorhersage oder Erklärung definiert.
Nachdem Sie den Namen des Modells, die Instanzen und die Informationen zu den Vorhersagen angegeben haben, wählen Sie Modell hinzufügen aus.
Nachdem Sie auf die Schaltfläche Modell hinzufügen geklickt haben, wird auf der Seite „Diagramm erstellen“ ein ausstehendes Modell angezeigt. Nach wenigen Sekunden ist das Modell einsatzbereit.
Optional. Anwendungsmetadaten anhängen
Zusätzlich zu den Bildbytes können Sie attach_application_metadata
so festlegen, dass die Vertex AI Vision App-Plattform die Metadaten der Anwendung an den benutzerdefinierten Container senden soll.
Die Metadaten haben das folgende Schema:
'appPlatformMetadata': {
'application': STRING;
'instanceId': STRING;
'node': STRING;
'processor': STRING;
}
Optional. Pub/Sub-Thema für dynamische Konfiguration hinzufügen
Wenn Sie die Framerate dynamisch steuern möchten, mit der der Vertex-benutzerdefinierte Operator Videoframes an benutzerdefinierte Vertex-Container sendet, können Sie ein Pub/Sub-Thema erstellen. Fügen Sie es im Bereich Dynamic Configuration
der Knoteneinstellungen hinzu.
Wenn das Pub/Sub-Thema konfiguriert ist, ist die Anfangsframerate 0. Während der Videoverarbeitung kannst du Pub/Sub-Nachrichten im folgenden Format in Echtzeit an das Pub/Sub-Thema senden, um die Framerate zu ändern:
{
"stream_id": "input-stream-id",
"fps": 5,
}
Das Feld stream_id
muss mit der ID des Eingabestreams der Anwendung übereinstimmen.
Dienstkonto und Berechtigungen
Die Standarddienstanmeldedaten des benutzerdefinierten Containers wurden für das zu Google gehörende Dienstkonto der Vertex AI Vision App-Plattform konfiguriert.
Wenn Sie über den Container auf andere Google Cloud
Dienste zugreifen möchten, gewähren Sie die entsprechenden Berechtigungen für:
service-<var>PROJECT_NUMBER</var>@gcp-sa-visionai.iam.gserviceaccount.com
Optional. Ereignisbenachrichtigungen mit Cloud Run-Funktionen und Pub/Sub modellieren
In Vertex AI Vision erhalten Modelle Mediendaten von Geräten wie Kameras, führen KI-Vorhersagen auf den Daten aus und erstellen kontinuierlich Anmerkungen. Häufig werden diese verarbeiteten Daten an ein Datenziel (Data Sink) wie ein Media-Warehouse oder BigQuery gesendet, um sie für weitere Analysejobs zu verwenden. Es kann jedoch vorkommen, dass einige Anmerkungen anders behandelt werden müssen oder dass die Anmerkungen zeitnah benötigt werden. Integrationen mit Cloud Run Functions und Pub/Sub können Ihnen dabei helfen, diese Anforderungen zu erfüllen.
Unterstützte Modelle
Die folgenden Modelle bieten die Ereignisgenerierung für Cloud Run-Funktionen und die Einbindung von Pub/Sub-Ereignisbenachrichtigungen:
Cloud Run-Funktionen für die Verarbeitung der Modellausgabe konfigurieren
Wenn Sie ereignisbasierte Benachrichtigungen auslösen möchten, müssen Sie zuerst Cloud Run-Funktionen einrichten, um die Modellausgabe zu verarbeiten und Ereignisse zu generieren.
Ihre Cloud Run-Funktion stellt eine Verbindung zum Modell her und überwacht die Ausgabe als Nachbearbeitungsaktion. Die Cloud Run-Funktion sollte einen AppPlatformCloudFunctionResponse
zurückgeben. Die Ereignisse (appplatformeventbody
) werden an das Pub/Sub-Thema gesendet, das Sie im nächsten Schritt konfigurieren.
Eine Beispiel-Cloud Run-Funktion finden Sie unter Benachrichtigungen zu Modellereignissen mit Cloud Functions und Pub/Sub aktivieren.
So senden Sie den Modellausgabestream an Ihre Cloud Run-Funktion:
Console
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Liste neben dem Namen Ihrer Anwendung die Option
App ansehen aus.Klicken Sie auf das unterstützte Modell, um die Seitenleiste mit den Modelldetails zu öffnen.
Wählen Sie im Bereich Ereignisbenachrichtigung in der Liste Nachbearbeitung eine vorhandene Cloud Run-Funktion aus oder erstellen Sie eine neue.
Benachrichtigungen zu Modellereignissen mit Pub/Sub aktivieren
Nachdem Sie Cloud Run-Funktionen eingerichtet haben, um die Modellausgabe zu verarbeiten und Ereignisse zu generieren, können Sie Ereignisbenachrichtigungen mit Pub/Sub einrichten. Wenn Sie Nachrichten von einem Thema lesen möchten, müssen Sie außerdem ein Pub/Sub-Abo auswählen und erstellen.
Console
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Liste neben dem Namen Ihrer Anwendung die Option
App ansehen aus.Klicken Sie auf das unterstützte Modell, um die Seitenleiste mit den Modelldetails zu öffnen.
Wählen Sie im Abschnitt Ereignisbenachrichtigung die Option Ereignisbenachrichtigung einrichten aus.
Wählen Sie im Optionsfenster Pub/Sub für Ereignisbenachrichtigungen einrichten ein vorhandenes Pub/Sub-Thema aus oder erstellen Sie ein neues.
Legen Sie im Feld Häufigkeit einen Ganzzahlwert in Sekunden fest, nach dem eine Benachrichtigung für denselben Ereignistyp gesendet werden kann.
Klicken Sie auf Einrichten.
Modellausgabe mit einem Downstream-Knoten verbinden
Nachdem Sie einen Modellknoten erstellt haben, können Sie seine Ausgabe mit einem anderen Knoten verbinden.
Console
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Liste neben dem Namen Ihrer Anwendung die Option App ansehen aus.
Klicken Sie auf einen Modellknoten, der Daten im Anwendungsgraphen-Builder ausgibt, z. B. den Modellknoten Belegungszahl.
Klicken Sie im seitlichen Steuerfeld auf die Schaltfläche Ausgabe hinzufügen.
Wählen Sie entweder Neue Ausgabe hinzufügen aus und wählen Sie einen neuen Ausgabeknoten aus, den Sie hinzufügen möchten, oder wählen Sie einen vorhandenen Verfügbaren Knoten aus, an den die Ausgabe gesendet werden soll.
Ausgabe mit einem Datenziel verbinden
Nachdem Sie den Datenaufnahmestream erstellt und Ihrer App die Verarbeitungsknoten hinzugefügt haben, müssen Sie auswählen, wohin die verarbeiteten Daten gesendet werden sollen. Dieses Datenziel ist der Endpunkt Ihres App-Graphen, der Streamdaten akzeptiert, ohne selbst welche zu generieren. Das Ziel, das Sie auswählen, hängt davon ab, wie Sie die App-Ausgabedaten verwenden.

Sie können App-Ausgabedaten mit den folgenden Datenzielen verknüpfen:
Vision Warehouse: Hier können Sie Original- oder analysierte Videodaten speichern, die Sie sich ansehen und abfragen können.
Weitere Informationen zum Senden von App-Ausgabedaten an ein Vision Warehouse finden Sie unter Verbindung zu einem Warehouse herstellen und Daten dort speichern.
BigQuery: Daten in BigQuery speichern, um die Offlineanalysefunktionen zu nutzen.
Weitere Informationen zum Senden von App-Ausgabedaten an BigQuery finden Sie unter Verbindung mit BigQuery herstellen und Daten dort speichern.
Livestream-Daten: Wenn Sie die Echtzeitanalysen genauer steuern möchten, können Sie die Live-Ausgabe Ihrer App empfangen.
Weitere Informationen zum direkten Streamen von App-Ausgabedaten finden Sie unter Livestreamausgabe aktivieren.
App aktualisieren
Nicht bereitgestellte Apps
Nehmen Sie Änderungen an der App vor (z. B. fügen Sie Komponentenknoten hinzu oder entfernen Sie sie). Vertex AI Vision speichert die Änderungen automatisch.
Nächste Schritte
- Weitere Informationen zum Bereitstellen Ihrer App zum Aufnehmen und Analysieren von Daten
- Eine Anleitung zum Starten der Datenaufnahme aus dem Eingabestream einer App finden Sie unter Streams erstellen und verwalten.
- Weitere Informationen zum Auflisten von Apps und zum Aufrufen der Instanzen einer bereitgestellten App
- Informationen zum Lesen von App-Eingabedaten aus einem Datenaufnahmestream oder analysierten Modellausgabedaten finden Sie unter Streamdaten lesen.