Neben der Streamingverarbeitung können Sie auch die Batchverarbeitung verwenden, um Informationen aus Daten zu gewinnen. Mit diesem Verarbeitungsmodus ohne Streaming können Sie Anwendungen erstellen, die andere Medientypen unterstützen.
Sie können Bilddateien, die in Cloud Storage gespeichert sind, mit ausgewählten Modellen im Batchverfahren verarbeiten. Die Ausgabe wird in Cloud Storage gespeichert.
Unterstützte Modelle
Die folgenden Modelle unterstützen die Batchverarbeitung:
- Tag-Erkennung
- Produkterkennung
Unterstützte Datentypen
Auf dieser Seite wird beschrieben, wie Sie die folgenden Datentypen im Batchverfahren verarbeiten:
- Bilddaten
Hinweis
- Sehen Sie sich die unterstützten Modelle und
unterstützten Datentypen für die auf dieser
Seite beschriebene Batchverarbeitung an.
- Wenn Sie ein Produkterkennungsmodell verwenden, erstellen Sie einen
Catalogund einenProductRecognitionIndex, die Sie beim Erstellen eines Produkt erkennungsmodells für die Batchverarbeitung verwenden können. Alternativ können Sie einen vorhandenen Index für die Produkterkennung oder ein vorhandenes Modell für die Produkterkennung verwenden. - Wenn Sie ein Tag-Erkennungsmodell verwenden, erstellen Sie ein Modell anhand der Anleitung für Tag-Erkennungsmodelle.
- Wenn Sie ein Produkterkennungsmodell verwenden, erstellen Sie einen
- Erstellen Sie einen oder mehrere Cloud Storage-Buckets für die Eingabe und Ausgabe der Batch verarbeitung.
- Suchen Sie nach unterstützten Dateien und laden Sie sie in Ihren Cloud Storage-Eingabe-Bucket hoch, damit sie verarbeitet werden können.
Nutzerpfad
So verarbeiten Sie Bilddaten im Batchverfahren:
Aktivieren Sie die Gemini Enterprise Agent Platform Vision API.
Erstellen Sie einen unterstützten Prozessor (Produkterkennung oder Tag-Erkennung).
Erstellen Sie eine Anwendung.
Eingabe: Fügen Sie einen universellen Eingabeknoten hinzu, der die in Cloud Storage zu verarbeitenden Dateien angibt.
Verarbeitung: Fügen Sie Ihren Modellknoten hinzu.
Ausgabe: Fügen Sie den Ausgabespeicherknoten hinzu, der angibt, wo die verarbeiteten Daten in Cloud Storage gespeichert werden.
Erstellen Sie Batchinstanzen Ihrer Anwendung. Jede Instanz entspricht einem Cloud Storage-Bucket-Eingabestandort.
Stellen Sie die Anwendung und die Anwendungsinstanzen bereit.
Nachdem die Batchverarbeitungsinstanz abgeschlossen ist, sehen Sie sich die in Cloud Storage gespeicherte Ausgabe an.
Bilder im Batchverfahren verarbeiten
Die Schritte zum Senden einer Batchverarbeitungsanfrage variieren je nach Modell. Folgen Sie der Anleitung für Ihr Zielmodell, um Bilder im Batchverfahren zu verarbeiten.
Modell für die Produkterkennung
Verwenden Sie diese Beispiele, um Bilder mit einem Modell für die Produkterkennung im Batchverfahren zu verarbeiten.
Console
Erstellen Sie in der Google Cloud Console eine Batchverarbeitungsanfrage für Bilder.
Neue Anwendung erstellen
Öffnen Sie den Tab Anwendungen des Gemini Enterprise Agent Platform Vision-Dashboards.
Klicken Sie auf die Schaltfläche „Hinzufügen“ Erstellen.
Geben Sie einen Anwendungsnamen ein und wählen Sie Ihre Region aus.
Klicken Sie auf Weiter.
Wählen Sie Ihre Abrechnungsmethode aus. Weitere Informationen zur nutzungsabhängigen Abrechnung und zur monatlichen Abrechnung finden Sie auf der Preisseite.
Klicken Sie auf Erstellen.
Eingaben für die Batchverarbeitung angeben
Klicken Sie auf der Seite des Graph-App-Builders auf den Knoten Universelle Eingabe.
Klicken Sie im Seitenbereich Universelle Eingabe auf Eingabequellen auswählen.
Wählen Sie auf der Seite Eingabequellen auswählen die Option Batchvorhersage aus.
Klicken Sie auf Weiter.
Klicken Sie im Bereich Quellen im Feld für die Standortauswahl auf Durchsuchen und geben Sie an, wo sich Ihre Dateien in Cloud Storage befinden.
Optional. Wenn Sie weitere Quellen angeben möchten, klicken Sie auf Element hinzufügen und wiederholen Sie den vorherigen Schritt.
Klicken Sie auf Senden.
Modell hinzufügen
Klicken Sie auf der Seite des Graph-App-Builders im Bereich Spezialisierte Modelle auf den Modellknoten Produkterkennung.
Klicken Sie im Bereich Produkterkennung auf Modell auswählen.
Wählen Sie Vorhandenes Modell der Produkterkennung auswählen aus.
Wenn Sie ein neues Modell oder einen neuen Index erstellen müssen, wählen Sie die entsprechende Option aus, um die Ressourcen zu erstellen.
Wählen Sie das Modell aus der Liste aus.
Klicken Sie auf Auswählen.
Optional. Ändern Sie den Konfidenzschwellenwert.
Klicken Sie auf Einstellungen anwenden.
Ausgabeziel hinzufügen
Klicken Sie auf der Seite des Graph-App-Builders im Bereich Ausgabe auf den Modellknoten Cloud Storage.
Klicken Sie im Bereich Cloud Storage auf Durchsuchen und wählen Sie das Ausgabeziel für die Batchvorhersage in Cloud Storage aus.
Anwendung bereitstellen
- Klicken Sie auf der Seite des Graph-App-Builders auf Bereitstellen.
REST UND BEFEHLSZEILE
Führen Sie die folgenden Schritte aus, um Ihre Batchverarbeitungsanfrage für Bilder zu senden.
Erstellen Sie mit der
projects.locations.processors.createMethode ein Modell für die Produkterkennung.Diese Anfrage enthält einen Verweis auf die Ressourcen
CatalogundProductRecognitionIndex. Informationen zum Erstellen vonCatalogundProductRecognitionIndex-Ressourcen finden Sie in der Anleitung für das Modell für die Produkterkennung.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/LOCATION_ID/processors?processor_id=product-recognition-model1 \ -d '{ "display_name": "DISPLAY_NAME", "model_type": PRODUCT_RECOGNIZER, "custom_processor_source_info": { "source_type": PRODUCT_RECOGNIZER, "product_recognizer_artifact": { "retail_product_recognition_index":"projects/PROJECT_ID/locations/LOCATION_ID/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID", } } }'Erstellen Sie eine Anwendung mit dem neu erstellten Modell für die Produkterkennung. Diese Anfrage verwendet die
projects.locations.applications.createMethode.Anfragetext (
app.json):{ "applicationConfigs": { "nodes": [ { "displayName": "Universal Input", "name": "universal-input-0", "processor": "builtin:universal-input" }, { "displayName": "Product Recognition", "name": "product-recognition", "nodeConfig": { "product_recognizer_config": { "recognition_confidence_threshold": 0.75 } }, "parents": [ { "parentNode": "universal-input-0" } ], "processor": "projects/PROJECT_ID/locations/LOCATION_ID/processors/product-recognition-model1" }, { "displayName": "Storage output", "name": "gcs-output", "nodeConfig": { "gcs_output_config": { "gcs_path":"gs://product_recognizer_app_output" } }, "parents": [ { "parentNode": "product-recognition" } ], "processor": "builtin:gcs-output" } ] } }Anfrage :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @app.json \ 'https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/LOCATION_ID/applications?application_id=product-recognition-app'Erstellen Sie Instanzen Ihrer Anwendung mit der
projects.locations.applications.createApplicationInstancesMethode.Anfragetext (
instances.json):{ "applicationInstances": [ { "instance": { "instanceType": "BATCH_PREDICTION", "inputResources": [ { "consumerNode": "universal-input-0", "dataType": "IMAGE", "inputResource": "gs://product_recognition_input" } ] }, "instanceId": "instance1" }, { "instance": { "instanceType":"BATCH_PREDICTION", "inputResources": [ { "consumerNode": "universal-input-0", "dataType": "IMAGE", "inputResource": "gs://product_recognition_input2" } ] }, "instanceId": "instance2" } ] }Anfrage :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @instances.json \ 'https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/LOCATION_ID/applications/product-recognition-app:createApplicationInstances'Anwendung bereitstellen
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{}' \ 'https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/LOCATION_ID/applications/product-recognition-app:deploy'Rufen Sie Anwendungsinstanzen ab. Diese Informationen geben an, wann die Batchverarbeitung abgeschlossen ist.
Insbesondere das Feld
statezeigt an, wann die Verarbeitung abgeschlossen ist:"state": "FINISHED". Nach Abschluss der Instanz können Sie sie nicht mehr ändern.Sie können die
projects.locations.applications.instances.listMethode verwenden, um Instanzen zu verfolgen. Verwenden Sie dieprojects.locations.applications.deleteApplicationInstancesMethode, um Instanzen aus dieser Liste zu entfernen.Anfrage :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ 'https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/LOCATION_ID/applications/product-recognition-app/instances'Beispielantwort :
{ "instances": [ { "name": "projects/PROJECT_ID/locations/LOCATION_ID/applications/product-recognition-app/instances/instance1", "createTime": "2023-03-30T18:30:51.991004265Z", "inputResources": [ { "inputResource": "gs://product_recognition_input", "consumerNode": "universal-input-0", "dataType": "IMAGE" } ], "outputResources": [ { "outputResource": "gs://product_recognition_output/instance1", "producerNode": "product-recognition", "autogen": true } ], "updateTime": "2023-04-18T04:58:18.592092259Z", "state": "FINISHED", "instanceType": "BATCH_PREDICTION" } }
Modell für die Tag-Erkennung
Verwenden Sie diese Beispiele, um Bilder mit einem Modell für die Tag-Erkennung im Batchverfahren zu verarbeiten.
REST UND BEFEHLSZEILE
Führen Sie die folgenden Schritte aus, um Ihre Batchverarbeitungsanfrage für Bilder zu senden.
Erstellen Sie mit der
projects.locations.processors.createMethode ein Modell für die Tag-Erkennung.Dazu müssen Sie den Ressourcennamen des ursprünglichen Modells angeben, das in der Vertex AI-Plattform gehostet wird (
vertex_model).curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/LOCATION_ID/processors?processor_id=tag-recognition-model1 \ -d '{ "display_name": "DISPLAY_NAME", "model_type": TAG_RECOGNIZER, "custom_processor_source_info": { "source_type": VERTEX_AUTOML, "vertex_model": "projects/PROJECT_ID/locations/LOCATION_ID/models/MODEL_ID" } }'Erstellen Sie eine Anwendung mit dem neu erstellten Modell für die Tag-Erkennung. Diese Anfrage verwendet die
projects.locations.applications.createMethode.Anfragetext (
app.json):{ "applicationConfigs": { "nodes": [ { "displayName": "Universal Input", "name": "universal-input-0", "processor": "builtin:universal-input" }, { "displayName": "Tag Recognition", "name": "tag-recognition", "nodeConfig": { "tag_recognizer_config": { "tag_parsing_config": { "entity_parsing_configs": [ { "entity_class": "price", "regex": "\\$\\d+\\.\\d{2}", "entity_matching_strategy": "MAX_OVERLAP_AREA" } ] }, "entity_detection_confidence_threshold": 0.0 } }, "parents": [ { "parentNode": "universal-input-0" } ], "processor": "projects/PROJECT_ID/locations/LOCATION_ID/processors/tag-recognition-model1" }, { "displayName": "Storage output", "name": "gcs-output", "nodeConfig": { "gcs_output_config": { "gcs_path": "gs://tag_recognizer_app_output" } }, "parents": [ { "parentNode": "tag-recognition" } ], "processor": "builtin:gcs-output" } ] } }Anfrage :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @app.json \ 'https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/LOCATION_ID/applications?application_id=tag-recognition-app'Erstellen Sie Instanzen Ihrer Anwendung mit der
projects.locations.applications.createApplicationInstancesMethode.Anfragetext (
instances.json):{ "applicationInstances": [ { "instance": { "instanceType": "BATCH_PREDICTION", "inputResources": [ { "consumerNode": "universal-input-0", "dataType": "IMAGE", "inputResource": "gs://tag_recognition_input" } ] }, "instanceId": "instance1" }, { "instance": { "instanceType":"BATCH_PREDICTION", "inputResources": [ { "consumerNode": "universal-input-0", "dataType": "IMAGE", "inputResource": "gs://tag_recognition_input2" } ] }, "instanceId": "instance2" } ] }Anfrage :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @instances.json \ 'https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/LOCATION_ID/applications/tag-recognition-app:createApplicationInstances'Anwendung bereitstellen
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{}' \ 'https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/LOCATION_ID/applications/tag-recognition-app:deploy'Rufen Sie Anwendungsinstanzen ab. Diese Informationen geben an, wann die Batchverarbeitung abgeschlossen ist.
Insbesondere das Feld
statezeigt an, wann die Verarbeitung abgeschlossen ist:"state": "FINISHED". Nach Abschluss der Instanz können Sie sie nicht mehr ändern.Sie können die
projects.locations.applications.instances.listMethode verwenden, um Instanzen zu verfolgen. Verwenden Sie dieprojects.locations.applications.deleteApplicationInstancesMethode, um Instanzen aus dieser Liste zu entfernen.Anfrage :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ 'https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/LOCATION_ID/applications/tag-recognition-app/instances'Beispielantwort :
{ "instances": [ { "name": "projects/PROJECT_ID/locations/LOCATION_ID/applications/tag-recognition-app/instances/instance1", "createTime": "2023-03-30T18:30:51.991004265Z", "inputResources": [ { "inputResource": "gs://tag_recognition_input", "consumerNode": "universal-input-0", "dataType": "IMAGE" } ], "outputResources": [ { "outputResource": "gs://tag_recognition_output/instance1", "producerNode": "tag-recognition", "autogen": true } ], "updateTime": "2023-04-18T04:58:18.592092259Z", "state": "FINISHED", "instanceType": "BATCH_PREDICTION" } }