Datasets verwalten

Ein Dataset enthält repräsentative Beispiele für den Inhaltstyp, den Sie mit Labels versehen möchten. Außerdem enthält es die Labels des Begrenzungsrahmens, die Ihr Modell verwenden soll. Das Dataset dient als Eingabe zum Trainieren eines Modells.

Die wesentlichen Schritte zum Erstellen eines Datasets sind:

  1. Erstellen Sie ein Dataset und geben Sie an, ob für jedes Element mehrere Labels zulässig sein sollen.
  2. Sie importieren Datenelemente in das Dataset.

Achten Sie vor dem Training darauf, dass Sie Ihre Daten vor dem Training des Modells vorbereiten.

Ein Projekt kann mehrere Datasets enthalten, die jeweils zum Trainieren eines separaten Modells verwendet werden. Sie können eine Liste der verfügbaren Datasets abrufen und nicht mehr benötigte Datasets löschen.

Dataset erstellen

Der erste Schritt zum Erstellen eines Modells besteht darin, ein leeres Dataset zu erstellen, das mit den Trainingsdaten für das Modell gefüllt wird.

Web-UI

Mit der AutoML Video Object Tracking-UI können Sie ein neues Dataset erstellen und Elemente von derselben Seite in dieses Dataset importieren.

  1. Öffnen Sie die AutoML Video Object Tracking-UI. Auf der Seite Datasets wird der Status zuvor erstellter Datasets für das aktuelle Projekt angezeigt. Liste der Datasets für das Projekt in der Google Cloud Console Wenn Sie ein Dataset für ein anderes Projekt hinzufügen möchten, wählen Sie das betreffende Projekt in der Drop-down-Liste rechts oben in der Titelleiste aus.
  2. Klicken Sie auf der Seite Datasets auf Dataset erstellen.
  3. Führen Sie im Dialogfeld Neues Dataset erstellen die folgenden Aufgaben aus:
    • Geben Sie einen Namen für das Dataset an.
    • Wählen Sie Videoobjekt-Tracking aus.
    • Klicken Sie auf Dataset erstellen.
  4. Geben Sie auf der Seite für Ihr Dataset den Cloud Storage-URI der CSV-Datei, die die URIs Ihrer Trainingsdaten enthält, ohne das Präfix gs:// am Anfang an.
  5. Klicken Sie auch auf der Seite für Ihr Dataset auf Weiter, um mit dem Import zu beginnen. Seite für Dataset "my_dataset"

REST UND BEFEHLSZEILE

Im folgenden Beispiel wird ein Dataset mit dem Namen my_dataset01 erstellt, das Anwendungsfälle für das Objekt-Tracking unterstützt. Das neu erstellte Dataset enthält keine Daten, solange noch keine Elemente darin importiert wurden.

Speichern Sie den Wert für "name" des neuen Datasets aus der Antwort für die Verwendung in anderen Vorgängen, z. B. für das Importieren von Elementen in Ihr Dataset und das Trainieren eines Modells.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • dataset-name: Der Name des Ziel-Datasets.
    Beispiel: my_dataset_01
  • Hinweis:
    • project-number: Nummer Ihres Projekts
    • location-id: Die Cloud-Region, in der die Annotation erfolgen soll. Unterstützte Cloud-Regionen sind: us-east1, us-west1, europe-west1, asia-east1. Wenn keine Region angegeben ist, wird eine Region basierend auf dem Speicherort der Videodatei festgelegt.

HTTP-Methode und URL:

POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets

JSON-Text der Anfrage:

{
    "displayName": "dataset-name",
    "videoObjectTrackingDatasetMetadata": { }
}

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 application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets" | Select-Object -Expand Content
Wenn die Antwort erfolgreich ist, gibt die AutoML Video Intelligence Object Tracking API den Namen für den Vorgang zurück. Im Folgenden finden Sie ein Beispiel für eine solche Antwort, wobei project-number die Anzahl Ihres Projekts und operation-id die ID des lang andauernden Vorgangs ist, der für die Anfrage erstellt wurde. Beispiel: VOT12345....

Java

import com.google.cloud.automl.v1beta1.AutoMlClient;
import com.google.cloud.automl.v1beta1.Dataset;
import com.google.cloud.automl.v1beta1.LocationName;
import com.google.cloud.automl.v1beta1.VideoObjectTrackingDatasetMetadata;
import java.io.IOException;

class VideoObjectTrackingCreateDataset {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    String displayName = "YOUR_DATASET_NAME";
    createDataset(projectId, displayName);
  }

  // Create a dataset
  static void createDataset(String projectId, String displayName) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (AutoMlClient client = AutoMlClient.create()) {
      // A resource that represents Google Cloud Platform location.
      LocationName projectLocation = LocationName.of(projectId, "us-central1");
      VideoObjectTrackingDatasetMetadata metadata =
          VideoObjectTrackingDatasetMetadata.newBuilder().build();
      Dataset dataset =
          Dataset.newBuilder()
              .setDisplayName(displayName)
              .setVideoObjectTrackingDatasetMetadata(metadata)
              .build();

      Dataset createdDataset = client.createDataset(projectLocation, dataset);

      // Display the dataset information.
      System.out.format("Dataset name: %s%n", createdDataset.getName());
      // To get the dataset id, you have to parse it out of the `name` field. As dataset Ids are
      // required for other methods.
      // Name Form: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`
      String[] names = createdDataset.getName().split("/");
      String datasetId = names[names.length - 1];
      System.out.format("Dataset id: %s%n", datasetId);
    }
  }
}

Node.js

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const displayName = 'YOUR_DISPLAY_NAME';

// Imports the Google Cloud AutoML library
const {AutoMlClient} = require('@google-cloud/automl').v1beta1;

// Instantiates a client
const client = new AutoMlClient();

async function createDataset() {
  // Construct request
  const request = {
    parent: client.locationPath(projectId, location),
    dataset: {
      displayName: displayName,
      videoObjectTrackingDatasetMetadata: {},
    },
  };

  // Create dataset
  const [response] = await client.createDataset(request);

  console.log(`Dataset name: ${response.name}`);
  console.log(`
    Dataset id: ${
      response.name
        .split('/')
        [response.name.split('/').length - 1].split('\n')[0]
    }`);
}

createDataset();

Python

from google.cloud import automl_v1beta1 as automl

def create_dataset(
    project_id="YOUR_PROJECT_ID", display_name="your_datasets_display_name"
):
    """Create a automl video object tracking dataset."""
    client = automl.AutoMlClient()

    # A resource that represents Google Cloud Platform location.
    project_location = f"projects/{project_id}/locations/us-central1"
    metadata = automl.VideoObjectTrackingDatasetMetadata()
    dataset = automl.Dataset(
        display_name=display_name,
        video_object_tracking_dataset_metadata=metadata,
    )

    # Create a dataset with the dataset metadata in the region.
    created_dataset = client.create_dataset(parent=project_location, dataset=dataset)
    # Display the dataset information
    print("Dataset name: {}".format(created_dataset.name))
    print("Dataset id: {}".format(created_dataset.name.split("/")[-1]))

Elemente in ein Dataset importieren

Nachdem Sie ein Dataset erstellt haben, können Sie Daten mit Labels aus CSV-Dateien importieren, die in einem Cloud Storage-Bucket gespeichert sind. Weitere Informationen zum Vorbereiten von Daten und Erstellen einer CSV-Datei für den Import finden Sie unter Trainingsdaten vorbereiten.

Sie können Elemente in ein leeres Dataset importieren oder zusätzliche Elemente in ein vorhandenes Dataset importieren.

Web-UI

Normalerweise importieren Sie Ihre Daten beim Erstellen des Datasets.

Wenn Sie jedoch Ihre Daten nach dem Erstellen des Datasets importieren möchten, gehen Sie so vor:

  1. Öffnen Sie die AutoML Video Object Tracking-UI. Auf der Seite Datasets wird der Status zuvor erstellter Datasets für das aktuelle Projekt angezeigt. Liste der Datasets für das Projekt in der Google Cloud Console
  2. Klicken Sie in der Liste auf das Dataset, in das Sie Daten importieren möchten.
  3. Geben Sie auf dem Tab Import den Cloud Storage-URI der CSV-Datei an, die die URIs Ihrer Trainingsdaten enthält, ohne das Präfix gs:// am Anfang.
  4. Klicken Sie auch auf dem Tab Importieren für Ihr Dataset auf Weiter, um den Import zu starten. Seite für Dataset "my_dataset"

REST UND BEFEHLSZEILE

Verwenden Sie zum Importieren Ihrer Trainingsdaten die Methode importData. Bei dieser Methode müssen Sie zwei Parameter angeben:

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • dataset-id: die ID Ihres Datasets. Die ID ist das letzte Element des Datasetnamens. Beispiel:
    • Dataset-Name: projects/project-number/locations/location-id/datasets/3104518874390609379
    • Dataset-ID: 3104518874390609379
  • bucket-name: Ersetzen Sie diesen Wert durch den Namen des Cloud Storage-Buckets, in dem Sie die CSV-Datei mit der Liste der Modelltrainingsdateien gespeichert haben.
  • csv-file-name: Ersetzen Sie diesen Wert durch die CSV-Datei mit der Liste der Modelltrainingsdateien.
  • Hinweis:
    • project-number: Nummer Ihres Projekts
    • location-id: Die Cloud-Region, in der die Annotation erfolgen soll. Unterstützte Cloud-Regionen sind: us-east1, us-west1, europe-west1, asia-east1. Wenn keine Region angegeben ist, wird eine Region basierend auf dem Speicherort der Videodatei festgelegt.

HTTP-Methode und URL:

POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData

JSON-Text der Anfrage:

{
  "inputConfig": {
    "gcsSource": {
      "inputUris": ["gs://bucket-name/csv-file-name.csv"]
    }
  }
}

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 application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData" | Select-Object -Expand Content
Sie sollten eine Vorgangs-ID für den Datenimport erhalten. Das Beispiel zeigt eine Antwort, die die Importvorgangs-ID VOT7506374678919774208 enthält.

Java

import com.google.api.gax.longrunning.OperationFuture;
import com.google.api.gax.retrying.RetrySettings;
import com.google.cloud.automl.v1beta1.AutoMlClient;
import com.google.cloud.automl.v1beta1.AutoMlSettings;
import com.google.cloud.automl.v1beta1.DatasetName;
import com.google.cloud.automl.v1beta1.GcsSource;
import com.google.cloud.automl.v1beta1.InputConfig;
import com.google.cloud.automl.v1beta1.OperationMetadata;
import com.google.protobuf.Empty;
import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import org.threeten.bp.Duration;

class ImportDataset {

  public static void main(String[] args)
      throws IOException, ExecutionException, InterruptedException, TimeoutException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    String datasetId = "YOUR_DATASET_ID";
    String path = "gs://BUCKET_ID/path_to_training_data.csv";
    importDataset(projectId, datasetId, path);
  }

  // Import a dataset
  static void importDataset(String projectId, String datasetId, String path)
      throws IOException, ExecutionException, InterruptedException, TimeoutException {
    Duration totalTimeout = Duration.ofMinutes(45);
    RetrySettings retrySettings = RetrySettings.newBuilder().setTotalTimeout(totalTimeout).build();
    AutoMlSettings.Builder builder = AutoMlSettings.newBuilder();
    builder.importDataSettings().setRetrySettings(retrySettings).build();
    AutoMlSettings settings = builder.build();

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (AutoMlClient client = AutoMlClient.create(settings)) {
      // Get the complete path of the dataset.
      DatasetName datasetFullId = DatasetName.of(projectId, "us-central1", datasetId);

      // Get multiple Google Cloud Storage URIs to import data from
      GcsSource gcsSource =
          GcsSource.newBuilder().addAllInputUris(Arrays.asList(path.split(","))).build();

      // Import data from the input URI
      InputConfig inputConfig = InputConfig.newBuilder().setGcsSource(gcsSource).build();
      System.out.println("Processing import...");

      // Start the import job
      OperationFuture<Empty, OperationMetadata> operation =
          client.importDataAsync(datasetFullId, inputConfig);

      System.out.format("Operation name: %s%n", operation.getName());

      // If you want to wait for the operation to finish, adjust the timeout appropriately. The
      // operation will still run if you choose not to wait for it to complete. You can check the
      // status of your operation using the operation's name.
      Empty response = operation.get(45, TimeUnit.MINUTES);
      System.out.format("Dataset imported. %s%n", response);
    } catch (TimeoutException e) {
      System.out.println("The operation's polling period was not long enough.");
      System.out.println("You can use the Operation's name to get the current status.");
      System.out.println("The import job is still running and will complete as expected.");
      throw e;
    }
  }
}

Node.js

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const datasetId = 'YOUR_DISPLAY_ID';
// const path = 'gs://BUCKET_ID/path_to_training_data.csv';

// Imports the Google Cloud AutoML library
const {AutoMlClient} = require('@google-cloud/automl').v1beta1;

// Instantiates a client
const client = new AutoMlClient();

async function importDataset() {
  // Construct request
  const request = {
    name: client.datasetPath(projectId, location, datasetId),
    inputConfig: {
      gcsSource: {
        inputUris: path.split(','),
      },
    },
  };

  // Import dataset
  console.log('Proccessing import');
  const [operation] = await client.importData(request);

  // Wait for operation to complete.
  const [response] = await operation.promise();
  console.log(`Dataset imported: ${response}`);
}

importDataset();

Python

from google.cloud import automl_v1beta1 as automl

def import_dataset(
    project_id="YOUR_PROJECT_ID",
    dataset_id="YOUR_DATASET_ID",
    path="gs://YOUR_BUCKET_ID/path/to/data.csv",
):
    """Import a dataset."""
    client = automl.AutoMlClient()
    # Get the full path of the dataset.
    dataset_full_id = client.dataset_path(
        project_id, "us-central1", dataset_id
    )
    # Get the multiple Google Cloud Storage URIs
    input_uris = path.split(",")
    gcs_source = automl.GcsSource(input_uris=input_uris)
    input_config = automl.InputConfig(gcs_source=gcs_source)
    # Import data from the input URI
    response = client.import_data(name=dataset_full_id, input_config=input_config)

    print("Processing import...")
    print("Data imported. {}".format(response.result()))

Trainingselemente mit Labels versehen

Jedes Element in einem Dataset muss mindestens einen Begrenzungsrahmen und ein Kategorielabel enthalten, damit es dem Trainieren eines Modells von Nutzen sein kann. Sie können Labels für Ihre Trainingselemente auf zwei verschiedene Arten angeben:

  • Fügen Sie Ihrer CSV-Datei Labels und Begrenzungsrahmen hinzu.
  • Wenden Sie Labels und Begrenzungsrahmen auf Ihre Elemente in der AutoML Video Object Tracking-UI an.

Weitere Informationen zum Labeling von Elementen in einer CSV-Datei finden Sie unter Trainingsdaten vorbereiten.

Wenn Sie Elemente in der AutoML Video Object Tracking-UI mit einem Label versehen und Details zum Dataset abrufen möchten, wählen Sie auf der Seite mit der Dataset-Liste das Dataset aus. Der Anzeigename des ausgewählten Datasets wird in der Titelleiste angezeigt. Die einzelnen Elemente im Dataset werden zusammen mit ihren Labels aufgelistet. Die Navigationsleiste auf der linken Seite fasst die Anzahl der Elemente mit und ohne Label zusammen. Sie können damit auch die Liste der Elemente nach Label filtern.

Videos in einem Dataset

Führen Sie folgende Schritte aus, um Videos, die keine Labels haben, Labels und Begrenzungsrahmen zuzuweisen oder Videolabels und Begrenzungsrahmen zu ändern:

  1. Klicken Sie auf der Seite für das Dataset auf das Video, für das Sie Labels hinzufügen möchten.
  2. Gehen Sie auf der Seite für das Video folgendermaßen vor:

    1. Führen Sie das Video aus, bis das Element angezeigt wird, das Sie mit einem Label versehen möchten.
    2. Ziehen Sie den Cursor, um einen Begrenzungsrahmen um das Element zu zeichnen.
    3. Wählen Sie nach dem Zeichnen des Begrenzungsrahmens das Label aus, das Sie verwenden möchten.
    4. Klicken Sie auf Speichern.

Begrenzungsrahmen um eine Kuh in einem Video zeichnen

Wenn Sie ein neues Label für das Dataset hinzufügen müssen, klicken Sie auf der Seite für das Dataset oberhalb der Liste der vorhandenen Labels auf die drei Punkte neben Labels filtern und dann auf Neues Label hinzufügen.

Labels in Daten ändern

Sie können auch die Labels ändern, die auf Videos in einem Dataset angewendet werden. Führen Sie in der AutoML Video Object Tracking-UI folgende Schritte aus:

  1. Klicken Sie auf der Seite für das Dataset auf das Video, dessen Labels Sie ändern möchten.
  2. Gehen Sie auf der Seite für das Video folgendermaßen vor:

    1. Wählen Sie links in der Liste der Labels das Label aus, das Sie ändern möchten.
    2. Klicken Sie in der Vorschau des Videos mit der rechten Maustaste auf den Begrenzungsrahmen im Video und wählen Sie das gewünschte Label aus.
    3. Klicken Sie auf Speichern.

Auf eine Limousine in einem Video angewandtes Label ändern

Datasets auflisten

Ein Projekt kann zahlreiche Datasets enthalten. In diesem Abschnitt wird beschrieben, wie Sie eine Liste der verfügbaren Datasets für ein Projekt abrufen.

Web-UI

Wenn Sie über die AutoML Video Object Tracking-UI eine Liste der verfügbaren Datasets ansehen möchten, rufen Sie die Seite Datasets auf.

Liste der Datasets im Projekt

Wenn Sie die Datasets für ein anderes Projekt anzeigen möchten, wählen Sie das Projekt in der Drop-down-Liste oben rechts in der Titelleiste aus.

REST UND BEFEHLSZEILE

Verwenden Sie die folgenden curl- oder PowerShell-Befehle, um eine Liste Ihrer Datasets und die Anzahl der in das Dataset importierten Beispielvideos abzurufen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • project-number: Die Nummer Ihres Projekts
  • location-id: Die Cloud-Region, in der die Annotation stattfinden soll. Unterstützte Cloud-Regionen sind: us-east1, us-west1, europe-west1, asia-east1. Wenn keine Region angegeben ist, wird eine Region basierend auf dem Speicherort der Videodatei festgelegt.

HTTP-Methode und URL:

GET https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie diesen Befehl aus:

curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets "

PowerShell

Führen Sie diesen Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets " | Select-Object -Expand Content
In der Antwort unten ist VOT3940649673949184000 die Vorgangs-ID des lang andauernden Vorgangs, der für die Anfrage erstellt und in der Antwort beim Start des Vorgangs angegeben wurde.

Java

import com.google.cloud.automl.v1beta1.AutoMlClient;
import com.google.cloud.automl.v1beta1.Dataset;
import com.google.cloud.automl.v1beta1.ListDatasetsRequest;
import com.google.cloud.automl.v1beta1.LocationName;
import java.io.IOException;

class ListDatasets {

  static void listDatasets() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    listDatasets(projectId);
  }

  // List the datasets
  static void listDatasets(String projectId) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (AutoMlClient client = AutoMlClient.create()) {
      // A resource that represents Google Cloud Platform location.
      LocationName projectLocation = LocationName.of(projectId, "us-central1");
      ListDatasetsRequest request =
          ListDatasetsRequest.newBuilder().setParent(projectLocation.toString()).build();

      // List all the datasets available in the region by applying filter.
      System.out.println("List of datasets:");
      for (Dataset dataset : client.listDatasets(request).iterateAll()) {
        // Display the dataset information
        System.out.format("%nDataset name: %s%n", dataset.getName());
        // To get the dataset id, you have to parse it out of the `name` field. As dataset Ids are
        // required for other methods.
        // Name Form: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`
        String[] names = dataset.getName().split("/");
        String retrievedDatasetId = names[names.length - 1];
        System.out.format("Dataset id: %s%n", retrievedDatasetId);
        System.out.format("Dataset display name: %s%n", dataset.getDisplayName());
        System.out.println("Dataset create time:");
        System.out.format("\tseconds: %s%n", dataset.getCreateTime().getSeconds());
        System.out.format("\tnanos: %s%n", dataset.getCreateTime().getNanos());

        System.out.format(
            "Video object tracking dataset metadata: %s%n",
            dataset.getVideoObjectTrackingDatasetMetadata());
      }
    }
  }
}

Node.js

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';

// Imports the Google Cloud AutoML library
const {AutoMlClient} = require('@google-cloud/automl').v1beta1;

// Instantiates a client
const client = new AutoMlClient();

async function listDatasets() {
  // Construct request
  const request = {
    parent: client.locationPath(projectId, location),
    filter: 'translation_dataset_metadata:*',
  };

  const [response] = await client.listDatasets(request);

  console.log('List of datasets:');
  for (const dataset of response) {
    console.log(`Dataset name: ${dataset.name}`);
    console.log(
      `Dataset id: ${
        dataset.name.split('/')[dataset.name.split('/').length - 1]
      }`
    );
    console.log(`Dataset display name: ${dataset.displayName}`);
    console.log('Dataset create time');
    console.log(`\tseconds ${dataset.createTime.seconds}`);
    console.log(`\tnanos ${dataset.createTime.nanos / 1e9}`);

    console.log(
      `Video object tracking dataset metadata: ${dataset.videoObjectTrackingDatasetMetadata}`
    );
  }
}

listDatasets();

Python

from google.cloud import automl_v1beta1 as automl

def list_datasets(project_id="YOUR_PROJECT_ID"):
    """List datasets."""
    client = automl.AutoMlClient()
    # A resource that represents Google Cloud Platform location.
    project_location = f"projects/{project_id}/locations/us-central1"

    # List all the datasets available in the region.
    request = automl.ListDatasetsRequest(parent=project_location, filter="")
    response = client.list_datasets(request=request)

    print("List of datasets:")
    for dataset in response:
        print("Dataset name: {}".format(dataset.name))
        print("Dataset id: {}".format(dataset.name.split("/")[-1]))
        print("Dataset display name: {}".format(dataset.display_name))
        print("Dataset create time: {}".format(dataset.create_time))
        print(
            "Video object tracking dataset metadata: {}".format(
                dataset.video_object_tracking_dataset_metadata
            )
        )

Dataset löschen

Im folgenden Code wird gezeigt, wie ein Dataset gelöscht wird.

Web-UI

  1. Rufen Sie in der AutoML Video Object Tracking-UI die Seite Modelle auf.

    Tab "Datasets"
  2. Klicken Sie auf das Dreipunkt-Menü ganz rechts in der zu löschenden Zeile und wählen Sie Dataset löschen aus.
  3. Klicken Sie im Bestätigungsdialogfeld auf Bestätigen.

REST UND BEFEHLSZEILE

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • project-number: Die Nummer Ihres Projekts
  • location-id: Die Cloud-Region, in der die Annotation stattfinden soll. Unterstützte Cloud-Regionen sind: us-east1, us-west1, europe-west1, asia-east1. Wenn keine Region angegeben ist, wird eine Region basierend auf dem Speicherort der Videodatei festgelegt.
  • datase-id: Ersetzen Sie diesen Wert durch die ID Ihrer Dataset-ID.

HTTP-Methode und URL:

DELETE https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten einen Statuscode für erfolgreiche Ausführung (2xx) und eine leere Antwort erhalten.

Java

import com.google.cloud.automl.v1beta1.AutoMlClient;
import com.google.cloud.automl.v1beta1.DatasetName;
import com.google.protobuf.Empty;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

class DeleteDataset {

  static void deleteDataset() throws IOException, ExecutionException, InterruptedException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    String datasetId = "YOUR_DATASET_ID";
    deleteDataset(projectId, datasetId);
  }

  // Delete a dataset
  static void deleteDataset(String projectId, String datasetId)
      throws IOException, ExecutionException, InterruptedException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (AutoMlClient client = AutoMlClient.create()) {
      // Get the full path of the dataset.
      DatasetName datasetFullId = DatasetName.of(projectId, "us-central1", datasetId);
      Empty response = client.deleteDatasetAsync(datasetFullId).get();
      System.out.format("Dataset deleted. %s%n", response);
    }
  }
}

Node.js

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const datasetId = 'YOUR_DATASET_ID';

// Imports the Google Cloud AutoML library
const {AutoMlClient} = require('@google-cloud/automl').v1beta1;

// Instantiates a client
const client = new AutoMlClient();

async function deleteDataset() {
  // Construct request
  const request = {
    name: client.datasetPath(projectId, location, datasetId),
  };

  const [operation] = await client.deleteDataset(request);

  // Wait for operation to complete.
  const [response] = await operation.promise();
  console.log(`Dataset deleted: ${response}`);
}

deleteDataset();

Python

from google.cloud import automl_v1beta1 as automl

def delete_dataset(project_id="YOUR_PROJECT_ID", dataset_id="YOUR_DATASET_ID"):
    """Delete a dataset."""
    client = automl.AutoMlClient()
    # Get the full path of the dataset
    dataset_full_id = client.dataset_path(
        project_id, "us-central1", dataset_id
    )
    response = client.delete_dataset(name=dataset_full_id)

    print("Dataset deleted. {}".format(response.result()))