Auf dieser Seite erfahren Sie, wie Sie eine App 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öchten, müssen Sie Ihre Datenquellen, die Analysen, die Sie durchführen möchten, und die Art und Weise, wie Sie die Ergebnisse speichern möchten, berücksichtigen. Eine End-to-End-App kann je nach Anwendungsfall unterschiedliche Formen annehmen. Wie Sie eine App erstellen, hängt also von Ihrem Ziel ab.
Bewerten Sie vorab Ihren Anwendungsfall und Ihr Ziel aus der Perspektive von Responsible AI und überlegen Sie, 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 in Bezug auf Fairness Achten Sie außerdem darauf, dass Ihre Nutzung von Vertex AI Vision den Nutzungsbedingungen von Google Cloudoder einer Offline-Variante sowie den eingebundenen URL-Nutzungsbedingungen wie der Richtlinie zur zulässigen Nutzung von Google Cloudentspricht.
Denken Sie beim Erstellen Ihrer Anwendung daran, dass KI-Vision-Technologien das Potenzial haben, unfaire Vorurteile zu verstärken oder einzuführen und grundlegende Menschenrechte zu beeinträchtigen. Bei der Entwicklung Ihrer Anwendung sollten Sie auf Grundlage der Werte Ihres Unternehmens ethische Überlegungen anstellen und für Ihren speziellen Anwendungsfall, einschließlich Anwendungsfällen mit hohem Risiko, eine rechtliche Due Diligence durchführen. Wie bei allen Technologien müssen Sie alle anwendbaren Gesetze und Vorschriften berücksichtigen, die für Ihre Nutzung von KI-/ML-Technologien in der Region gelten, in der Sie die Technologie implementieren. Kunden sind für die erforderliche Sorgfaltspflicht verantwortlich, um Anwendungsfälle zu implementieren, die in einer bestimmten Region als risikoreich gelten.
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 zu werden:
- 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 -Konsole.
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Klicken Sie auf die Schaltfläche
Erstellen.Geben Sie einen App-Namen 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 -Konsole.
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Klicken Sie auf die Schaltfläche
Erstellen.Geben Sie einen App-Namen ein und wählen Sie Ihre Region aus. Unterstützte Regionen.
Klicken Sie auf Erstellen.
Klicken Sie auf der Seite des Anwendungs-Builders auf den Knoten Anwendungsvorlage.
Klicken Sie in der Seitenleiste mit den Einstellungen auf die Schaltfläche Modell auswählen.
Wählen Sie im Drop-down-Menü ein Modell aus.
Streameingabe hinzufügen
Eine Anwendung muss einen Videostream-Knoten enthalten. Sie können die Anwendung nicht bereitstellen, wenn Sie keinen Streams-Knoten hinzufügen.
Wenn Ihre Anwendung nicht bereitgestellt wird, wird die Aktualisierung der Stream-Eingabe automatisch auf die Anwendung angewendet. Wenn Ihre App bereits bereitgestellt wurde, müssen Sie die Bereitstellung aufheben und die App aktualisieren, damit die Änderungen übernommen werden. Weitere Informationen finden Sie im Abschnitt App aktualisieren.
Console
Fügen Sie einer App in der Google Cloud -Konsole einen Stream hinzu.
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Klicken Sie bei Ihrer App auf App ansehen.
Wählen Sie in der Seitenleiste mit den Komponenten Videostreams aus der Liste der Connectors aus. Der Stream-Knoten wird dem App-Diagramm hinzugefügt und ein Seitenmenü „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, fügen Sie einen Namen für den neuen Stream hinzu und wählen Sie Streams hinzufügen aus.
REST
Senden Sie zum Hinzufügen eines Streams zu einer App 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. Beispiele:
us-central1
,europe-west4
. Verfügbare Regionen - APPLICATION_ID: Die ID Ihrer 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.
Stream-Eingabe mit Knotenanmerkungen hinzufügen
Wenn Sie einen Anwendungs-Eingabestream erstellen, können Sie dem Stream mit der Vertex AI Vision API Annotationen hinzufügen. Sie können einem Knoten auch in derGoogle Cloud -Konsole Anmerkungen hinzufügen.
Console
Im folgenden Beispiel werden einem Modell für die Anzahl der Personen 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 App ansehen aus.
Wählen Sie auf der Seite des Anwendungs-Builders das Modell mit Stream-Eingabe aus, dem Sie Anmerkungen hinzufügen möchten.
Maximieren Sie in der Seitenleiste mit den Modelleinstellungen den Abschnitt „Erweiterte Einstellungen“. Klicken Sie nach dem Maximieren des Bereichs auf die Schaltfläche Aktive Zonen/Linien erstellen.
Wählen Sie in der Streamgalerie einen Eingabestream aus, um aktive Zonen oder Linien zu zeichnen.
Wählen Sie in der Editoransicht Mehrpunktlinien hinzufügen oder Einfaches Polygon hinzufügen aus, um Anmerkungen hinzuzufügen. Über die Seitenleiste können Sie den Namen der Zone oder Linie ändern, vorhandene Zonen/Linien löschen oder die Richtung der Linie ändern.
REST UND BEFEHLSZEILE
Mit dem folgenden Code werden Stream-Annotationen 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. Beispiele:
us-central1
,europe-west4
. Verfügbare Regionen - APPLICATION_ID: Die ID Ihrer Zielanwendung.
- STREAM_ID: Die ID des Zielstreams.
- NODE_NAME: Der Name des Zielknotens im App-Diagramm. Beispiel:
builtin-occupancy-count
- ANNOTATION_ID: Die ID der Zielanmerkung.
- ANNOTATION_DISPLAYNAME: Der vom Nutzer angegebene Anzeigename der Zielannotation.
- ANNOTATION_TYPE: Einer der verfügbaren Enum-Werte. Dieser Typ muss mit dem
annotation_payload
-Objekt übereinstimmen, 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.
Stream-Eingabe 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. Beispiele:
us-central1
,europe-west4
. Verfügbare Regionen - APPLICATION_ID: Die ID Ihrer 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 es mit Streams, anderen Modellen oder einem Media Warehouse verbinden.
Es gibt zwei Arten von Modellen: vortrainierte Modelle und nutzerdefinierte Modelle. Auch von Nutzern trainierte Modelle können zwei Typen haben: AutoML oder benutzerdefiniert trainiert:
- Vortrainierte Modelle erfüllen einen bestimmten Zweck, werden mit generalisierten Daten trainiert und sind sofort einsatzbereit.
- Für von Nutzern trainierte AutoML- oder benutzerdefinierte Modelle müssen Sie Beispieldaten identifizieren und bereitstellen und dann Modelle trainieren, die besser für Ihren speziellen Anwendungsfall geeignet sind. Sie trainieren diese Modelle mit Vertex AI, einem Produkt, das zwei Trainingsoptionen bietet: mit AutoML trainierte Modelle und benutzerdefinierte Modelle. Weitere Informationen finden Sie unter Trainingsmethode auswählen.
Folgen Sie der Anleitung unten, um Ihrem App-Diagramm 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 App ansehen aus.
Wählen Sie auf der Seite des Anwendungs-Builders das Modell aus, das Sie aus der Liste KI-Modelle 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 KI-Modellknoten aus der Liste Verfügbare Knoten aus.
Von Nutzern trainiertes Vertex AI-Modell hinzufügen
Nachdem Sie eine App erstellt haben, können Sie ein Modell hinzufügen und es mit Streams, anderen Modellen oder einem Media Warehouse verbinden.
Es gibt zwei Arten von Modellen: vortrainierte Modelle und nutzerdefinierte Modelle. Auch von Nutzern trainierte Modelle können zwei Typen haben: AutoML oder benutzerdefiniert trainiert:
- Vortrainierte Modelle erfüllen einen bestimmten Zweck, werden mit generalisierten Daten trainiert und sind sofort einsatzbereit.
- Für von Nutzern trainierte AutoML- oder benutzerdefinierte Modelle müssen Sie Beispieldaten identifizieren und bereitstellen und dann Modelle trainieren, die besser für Ihren speziellen Anwendungsfall geeignet sind. Sie trainieren diese Modelle mit Vertex AI, einem Produkt, das zwei Trainingsoptionen bietet: mit AutoML trainierte Modelle und benutzerdefinierte Modelle. Weitere Informationen finden Sie unter Trainingsmethode auswählen.
Streamingmodell zur AutoML-Objekterkennung von Vertex AI hinzufügen
Folgen Sie der Anleitung unten, um Ihrem App-Diagramm ein Streamingmodell zur AutoML-Objekterkennung hinzuzufügen, das Sie trainieren.
Bevor Sie ein Vertex AI AutoML-Modell trainieren können, müssen Sie Ihre Objekterkennungsdaten vorbereiten und ein Dataset erstellen.
Modell für die Verwendung in Vertex AI Vision trainieren
Nachdem Sie ein Dataset mit einer repräsentativen Sammlung von Daten in Vertex AI erstellt haben, können Sie ein Modell trainieren, das in Vertex AI Vision verwendet werden soll.
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 Trainingsmethode für das Modell 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-Anwendung hinzufügen.
Console
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Liste neben dem Namen Ihrer Anwendung App ansehen aus.
Wählen Sie auf der Seite des Anwendungs-Builders in der Liste der Seitenkomponenten 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
Trainiertes Modell aus Vertex AI importieren ausgewählt und wählen Sie dann das Modell aus der Liste der vorhandenen Vertex AI AutoML-Modelle aus.Nachdem Sie das zu importierende Modell ausgewählt haben, klicken Sie auf Modell hinzufügen.
Nachdem Sie auf die Schaltfläche Modell hinzufügen geklickt haben, wird auf der Seite des Diagramm-Builders ein ausstehendes Modell angezeigt. Nach einigen Sekunden ist das Modell einsatzbereit.
Benutzerdefiniertes Vertex AI-Modell hinzufügen
Sie können auch benutzerdefinierte Modelle, die in Vertex AI trainiert wurden, in Vertex AI Vision importieren, um sie für die Datenanalyse zu verwenden. Diese benutzerdefiniert trainierten Modelle müssen die folgenden Eigenschaften haben:
- Das Modell muss zustandslos sein, da die Modelleingabe die Bilder sind, die von verschiedenen Anwendungsinstanzen (Streams) stammen und möglicherweise nicht in der richtigen Reihenfolge sind. Wenn Sie eine zustandsbehaftete Streamingverarbeitung benötigen, müssen Sie möglicherweise Zustände in Ihrem eigenen Container beibehalten.
- 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 dieser Anleitung, um Ihrem App-Diagramm ein vorhandenes benutzerdefiniertes Vertex AI-Videomodell hinzuzufügen, das Sie trainiert haben.
Informationen zum Erstellen eines benutzerdefiniert trainierten Vertex AI-Modells mit einem benutzerdefinierten Container finden Sie unter Benutzerdefinierten Container für Vorhersagen verwenden.
YAML-Datei für Instanzen angeben
Wenn Sie ein benutzerdefiniertes Modell von Vertex AI 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 Format:
{
"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 einem benannten Vorhersageeingabe. Dieser Eingabetyp muss ein codierter JPEG-String sein. Das Schema der Vorhersageeingabe muss mit der YAML-Datei für das Instanzschema angegeben werden. Diese Schema-YAML-Datei muss im Format eines OpenAPI-Schemaobjekts vorliegen.
Das folgende Schema empfängt beispielsweise die Anfrage mit dem in einem Feld namens image_bytes
codierten Bild:
properties:
image_bytes:
type: string
Ihr benutzerdefiniertes Modell empfängt Vorhersageeingaben 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 korrekt funktioniert.
YAML-Datei für Vorhersagen angeben
Wenn Sie ein benutzerdefiniertes Modell von Vertex AI hinzufügen, können Sie eine YAML-Datei für Vorhersagen (predictions.yaml
) angeben, die in Cloud Storage gespeichert ist. 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. Die folgende classification_1.0.0.yaml
-Datei beschreibt beispielsweise Informationen zur Modellausgabe für ein Bildklassifizierungsmodell:
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 das benutzerdefinierte trainierte Vertex AI-Modell in Ihre App einzufügen.
Console
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Liste neben dem Namen Ihrer Anwendung App ansehen aus.
Wählen Sie auf der Seite des Anwendungs-Builders in der Liste der Seitenkomponenten 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
Trainiertes Modell aus Vertex AI 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 an.
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 für das Vorhersageschema in Cloud Storage an, die das Format einer einzelnen Vorhersage oder Erklärung definiert.
Nachdem Sie Informationen zu Modellname, Instanzen und 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 des Diagramm-Generators ein ausstehendes Modell angezeigt. Nach einigen Sekunden ist das Modell einsatzbereit.
Optional. Anwendungsmetadaten anhängen
Zusätzlich zu den Image-Bytes können Sie attach_application_metadata
festlegen, um die Vertex AI Vision-App-Plattform aufzufordern, die Metadaten der Anwendung einzuschließen, die an den benutzerdefinierten Container gesendet werden sollen.
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, mit der der benutzerdefinierte Vertex-Operator Videoframes an benutzerdefinierte Vertex-Container sendet, dynamisch steuern möchten, können Sie ein Pub/Sub-Thema erstellen. Fügen Sie sie dem Abschnitt Dynamic Configuration
der Knoteneinstellungen hinzu.
Wenn das Pub/Sub-Thema konfiguriert ist, beträgt die anfängliche Framerate 0. Während der Videoverarbeitung können Sie 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
sollte mit der ID des Eingabestreams der Anwendung übereinstimmen.
Dienstkonto und Berechtigungen
Die Standarddienstanmeldedaten des benutzerdefinierten Containers wurden für das Google-eigene Dienstkonto der Vertex AI Vision-App-Plattform konfiguriert.
Wenn Sie vom Container aus 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. Modellereignisbenachrichtigung mit Cloud Run Functions und Pub/Sub
In Vertex AI Vision empfangen Modelle Mediendaten von Geräten wie Kameras, führen KI-Vorhersagen für die Daten aus und erstellen kontinuierlich Anmerkungen. Häufig senden Sie diese verarbeiteten Daten an ein Datenziel („Data Sink“) wie ein Media Warehouse oder BigQuery, um weitere Analyseaufgaben auszuführen. Es kann jedoch vorkommen, dass einige Anmerkungen anders behandelt werden müssen oder dass die Anmerkungen zeitkritisch sind. Integrationen mit Cloud Run Functions und Pub/Sub können Ihnen dabei helfen.
Unterstützte Modelle
Die folgenden Modelle bieten die Integration von Cloud Run Functions-Ereignisgenerierung und Pub/Sub-Ereignisbenachrichtigungen:
Cloud Run Functions für die Verarbeitung der Modellausgabe konfigurieren
Damit ereignisbasierte Benachrichtigungen ausgelöst werden, müssen Sie zuerst Cloud Run Functions 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 Nachbearbeitungsvorgang. Die Cloud Run-Funktion sollte AppPlatformCloudFunctionResponse
zurückgeben. Die Ereignisse (appplatformeventbody
) werden an das Pub/Sub-Thema gesendet, das Sie im nächsten Schritt konfigurieren.
Ein Beispiel für eine Cloud Run-Funktion finden Sie unter Benachrichtigung über Modellereignisse mit Cloud Functions und Pub/Sub aktivieren.
Folgen Sie der Anleitung unten, um den Modell-Outputstream an Ihre Cloud Run-Funktion zu senden:
Console
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Liste neben dem Namen Ihrer App
App ansehen aus.Klicken Sie auf das unterstützte Modell, um die Seitenleiste mit den Modelldetails zu öffnen.
Wählen Sie im Abschnitt Ereignisbenachrichtigung in der Liste Nachbearbeitung Ihre vorhandene Cloud Run-Funktion aus oder erstellen Sie eine neue.
Benachrichtigungen zu Modellereignissen mit Pub/Sub aktivieren
Nachdem Sie Cloud Run Functions zum Verarbeiten der Modellausgabe und zum Generieren von Ereignissen eingerichtet haben, können Sie die Ereignisbenachrichtigung mit Pub/Sub einrichten. Wenn Sie Nachrichten aus einem Thema lesen möchten, müssen Sie auch 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 App
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 Fenster Pub/Sub für Ereignisbenachrichtigungen einrichten, das sich öffnet, Ihr vorhandenes Pub/Sub-Thema aus oder erstellen Sie ein neues.
Legen Sie im Feld Häufigkeit einen ganzzahligen Wert für die Häufigkeit in Sekunden fest, mit der 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 App ansehen aus.
Klicken Sie auf einen Modellknoten, der Daten im Anwendungsdiagramm-Builder ausgibt, z. B. den Modellknoten Belegungsanzahl.
Klicken Sie in den seitlichen Einstellungen auf die Schaltfläche Ausgabe hinzufügen.
Sie können entweder Neue Ausgabe hinzufügen auswählen und einen neuen Ausgabeknoten hinzufügen oder einen vorhandenen Verfügbaren Knoten auswählen, an den die Ausgabe gesendet werden soll.
Ausgabe mit einem Datenziel verbinden
Nachdem Sie den Datenaufnahmestream erstellt und die Verarbeitungsknoten zu Ihrer App hinzugefügt haben, müssen Sie auswählen, wohin die verarbeiteten Daten gesendet werden sollen. Dieses Datenziel ist der Endpunkt Ihres App-Diagramms, der Streamdaten akzeptiert, ohne Streamdaten zu erzeugen. Das Ziel, das Sie auswählen, hängt davon ab, wie Sie die Ausgabedaten der App 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 ansehen und abfragen können.
Weitere Informationen zum Senden von App-Ausgabedaten an ein Vision Warehouse finden Sie unter Daten mit einem Warehouse verbinden und dort speichern.
BigQuery: Daten in BigQuery speichern, um die Offline-Analysefunktionen zu nutzen.
Weitere Informationen zum Senden von App-Ausgabedaten an BigQuery finden Sie unter Daten mit BigQuery verbinden und dort speichern.
Livestream-Daten: Wenn Sie detailliertere Echtzeitanalysen benötigen, können Sie die Liveausgabe Ihrer App abrufen.
Weitere Informationen zum direkten Streamen von App-Ausgabedaten finden Sie unter Livestream-Ausgabe aktivieren.
App aktualisieren
Nicht bereitgestellte Apps
Nehmen Sie Änderungen an der App vor, z. B. durch Hinzufügen oder Entfernen von Komponentenknoten. Vertex AI Vision speichert die Änderungen automatisch.
Nächste Schritte
- Informationen zum Bereitstellen Ihrer App zum Erfassen und Analysieren von Daten finden Sie unter Anwendung bereitstellen.
- Eine Anleitung zum Starten der Datenerfassung aus dem Eingabestream einer App finden Sie unter Streams erstellen und verwalten.
- Informationen zum Auflisten von Apps und zum Aufrufen der Instanzen einer bereitgestellten App finden Sie unter Anwendungen verwalten.
- Informationen zum Lesen von App-Eingabedaten aus einem Ingestion-Stream oder von analysierten Modellausgabedaten finden Sie unter Streamdaten lesen.