Como gerenciar conjuntos de dados

Um conjunto de dados contém amostras representativas do tipo de conteúdo que você quer rotular, com os rótulos de caixa delimitadora que você quer que seu modelo use. O conjunto de dados serve como entrada para treinar um modelo.

Veja a seguir os principais passos para criar um conjunto de dados:

  1. Criar um conjunto de dados e especificar se quer permitir vários rótulos em cada item.
  2. Importe itens de dados para o conjunto de dados.

Antes do treinamento de um modelo, prepare os dados.

Um projeto pode ter vários conjuntos de dados, cada um usado para treinar um modelo separado. É possível conseguir uma lista dos conjuntos de dados disponíveis e excluir conjuntos de dados que não são mais necessários.

Como criar um conjunto de dados

A primeira etapa no desenvolvimento de um modelo personalizado é criar um conjunto de dados vazio que vai armazenar os dados de treinamento do modelo.

IU da Web

A IU de rastreamento de objetos de vídeo do AutoML permite criar um novo conjunto de dados e importar itens para ele na mesma página.

  1. Abra a IU de rastreamento de objetos do AutoML Video. A página Conjuntos de dados mostra o status de conjuntos de dados criados anteriormente para o projeto atual. Lista de conjuntos de dados para o projeto no console do Google Cloud Para adicionar um conjunto de dados em um projeto diferente, selecione o projeto na lista suspensa no canto superior direito da barra de título.
  2. Na página Conjuntos de dados, clique em Criar conjunto de dados.
  3. Na caixa de diálogo Criar novo conjunto de dados, faça o seguinte:
    • Especifique um nome para ele.
    • Selecione Rastreamento de objetos em vídeo.
    • Clique em Criar conjunto de dados.
  4. Na página do conjunto de dados, forneça o URI do Cloud Storage do arquivo CSV que contém os URIs dos dados de treinamento sem o prefixo gs:// no início.
  5. Ainda na página do conjunto de dados, clique em Continuar para iniciar a importação. Página do conjunto de dados intitulado "my_dataset"

REST

No exemplo a seguir, criamos um conjunto de dados chamado my_dataset01, que é compatível com casos de uso de rastreamento de objetos. O conjunto de dados recém-criado não contém dados até que você importe itens para ele.

Salve o "name" do novo conjunto de dados (da resposta) para usar com outras operações, como importar itens para o conjunto de dados e treinar um modelo.

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • dataset-name: o nome do conjunto de dados de destino.
    Por exemplo, my_dataset_01
  • Observação:
    • project-number: o número do seu projeto
    • location-id: a região do Cloud em que a anotação deve ocorrer. As regiões de nuvem compatíveis são: us-east1, us-west1, europe-west1 e asia-east1. Se nenhuma região for especificada, uma região será determinada com base na localização do arquivo de vídeo.

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }

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
Se a resposta for bem-sucedida, a API AutoML Video Intelligence Object Tracking retornará o nome da operação. Veja a seguir um exemplo dessa resposta, em que project-number é o número do seu projeto e operation-id é o ID da operação de longa duração criada para a solicitação. Por exemplo, VOT12345....

Java

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

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

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

/**
 * 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

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

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(f"Dataset name: {created_dataset.name}")
    print("Dataset id: {}".format(created_dataset.name.split("/")[-1]))

Importar itens para um conjunto de dados

Depois de criar um conjunto de dados, será possível importar dados rotulados de arquivos CSV armazenados em um bucket do Cloud Storage. Para mais informações sobre como preparar os dados e criar arquivos CSV para importação, consulte Como preparar dados de treinamento.

Você pode importar itens para um conjunto de dados vazio ou importar itens adicionais para um conjunto de dados existente.

IU da Web

Normalmente, a importação dos dados é feita durante a criação do conjunto de dados.

No entanto, se precisar importar seus dados depois de criar o conjunto de dados, faça o seguinte:

  1. Abra a IU de rastreamento de objetos do AutoML Video. A página Conjuntos de dados mostra o status de conjuntos de dados criados anteriormente para o projeto atual. Lista de conjuntos de dados para o projeto no console do Google Cloud
  2. Na lista, clique no conjunto de dados em que você quer importar dados.
  3. Na guia Importar, forneça o URI do Cloud Storage do arquivo CSV que contém os URIs dos dados de treinamento sem o prefixo gs://.
  4. Além disso, na guia Importar do conjunto de dados, clique em Continuar para iniciar a importação. Página do conjunto de dados intitulado "my_dataset"

REST

Para importar seus dados de treinamento, use o método importData. Esse método exige que você forneça dois parâmetros:

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • dataset-id: ID do conjunto de dados. Ele é o último elemento do nome do conjunto de dados. Por exemplo:
    • nome do conjunto de dados: projects/project-number/locations/location-id/datasets/3104518874390609379
    • ID do conjunto de dados: 3104518874390609379
  • bucket-name: substitua pelo nome do bucket do Cloud Storage em que você armazenou o arquivo CSV da lista de arquivos de treinamento do modelo.
  • csv-file-name: substitua pelo nome do arquivo CSV da lista de arquivos de treinamento do modelo.
  • Observação:
    • project-number: o número do seu projeto
    • location-id: a região do Cloud em que a anotação deve ocorrer. As regiões de nuvem compatíveis são: us-east1, us-west1, europe-west1 e asia-east1. Se nenhuma região for especificada, uma região será determinada com base na localização do arquivo de vídeo.

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
-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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }

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
Você receberá um código da operação de importação de dados. O exemplo mostra uma resposta que contém o código da operação de importação VOT7506374678919774208.

Java

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

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

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

/**
 * 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

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

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(f"Data imported. {response.result()}")

Rotular itens de treinamento

Para ser útil ao treinamento de um modelo, cada item em um conjunto de dados precisa conter pelo menos uma caixa delimitadora e um rótulo de categoria atribuído a ele. Há duas maneiras de fornecer rótulos e caixas delimitadoras para seus itens de treinamento:

  • incluir rótulos e caixas delimitadoras no arquivo CSV;
  • aplicar rótulos e caixas delimitadoras aos itens na IU de rastreamento de objetos do AutoML Video.

Para detalhes sobre como rotular itens no arquivo .CSV, consulte Como preparar seus dados de treinamento.

Para rotular itens na IU de rastreamento de objetos em vídeo AutoML, selecione o conjunto de dados na página de listagem do conjunto de dados para ver os detalhes. O nome de exibição do conjunto de dados selecionado é exibido na barra de título, e a página relaciona os itens individuais no conjunto de dados com os respectivos rótulos. A barra de navegação à esquerda resume o número de itens rotulados e não rotulados. É possível filtrar a lista de itens por rótulo.

Vídeos em um conjunto de dados

Para atribuir rótulos e caixas delimitadoras a vídeos não rotulados ou alterar rótulos e caixas delimitadoras de vídeo, faça o seguinte:

  1. Na página do conjunto de dados, clique no vídeo ao qual você quer adicionar rótulos.
  2. Na página do vídeo, faça o seguinte:

    1. Execute o vídeo até ver o item que você quer rotular.
    2. Arraste o cursor para desenhar uma caixa delimitadora em torno do item.
    3. Depois de desenhar a caixa delimitadora, selecione o rótulo que você quer usar.
    4. Clique em Salvar.

Como desenhar uma caixa delimitadora ao redor de uma vaca em um vídeo

Se você precisar adicionar um novo rótulo ao conjunto de dados, na página do conjunto de dados, acima da lista de rótulos atuais, clique nos três pontos ao lado de Filtrar rótulos e, em seguida, clique em Adicionar novo rótulo.

Como alterar rótulos nos dados

Também é possível alterar os rótulos aplicados aos vídeos em um conjunto de dados. Na IU do rastreamento de objetos do AutoML, faça o seguinte:

  1. Na página do conjunto de dados, clique no vídeo cujos rótulos você quer alterar.
  2. Na página do vídeo, faça o seguinte:

    1. Na lista de rótulos à esquerda, selecione o rótulo que você quer alterar.
    2. Na visualização do vídeo, clique com o botão direito do mouse na caixa delimitadora do vídeo e selecione o rótulo pretendido.
    3. Clique em Salvar.

Como alterar o rótulo aplicado ao carro sedã em um vídeo

Como listar conjuntos de dados

Um projeto pode incluir vários conjuntos de dados. Nesta seção, você verá como recuperar uma lista dos conjuntos de dados disponíveis para um projeto.

IU da Web

Para ver uma lista dos conjuntos de dados disponíveis usando a interface de usuário de rastreamento de objetos do AutoML Video, navegue até a página Conjuntos de dados.

Lista de conjuntos de dados no projeto

Para ver os conjuntos de dados de outro projeto, selecione-o na lista suspensa na parte superior direita da barra de título.

REST

Use os comandos do curl ou do PowerShell a seguir para receber uma lista dos conjuntos de dados e o número de vídeos de amostra que foram importados para o conjunto de dados.

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • project-number: o número do seu projeto
  • location-id: a região do Cloud em que a anotação deve ocorrer. As regiões de nuvem compatíveis são: us-east1, us-west1, europe-west1 e asia-east1. Se nenhuma região for especificada, uma região será determinada com base na localização do arquivo de vídeo.

Método HTTP e URL:

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

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte comando:

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

PowerShell

execute o seguinte comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets " | Select-Object -Expand Content
Na resposta abaixo, VOT3940649673949184000 é o ID da operação de longa duração criada para a solicitação e fornecido na resposta quando você iniciou a operação.

Java

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

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

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

/**
 * 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

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

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(f"Dataset name: {dataset.name}")
        print("Dataset id: {}".format(dataset.name.split("/")[-1]))
        print(f"Dataset display name: {dataset.display_name}")
        print(f"Dataset create time: {dataset.create_time}")
        print(
            "Video object tracking dataset metadata: {}".format(
                dataset.video_object_tracking_dataset_metadata
            )
        )

Excluir um conjunto de dados

O código a seguir demonstra como excluir um conjunto de dados.

IU da Web

  1. Navegue até a página Conjuntos de dados na interface de usuário de rastreamento de objetos do AutoML Video.

    Guia "Conjuntos de dados"
  2. Clique no menu de três pontos à extrema direita da linha que você quer excluir e selecione Excluir conjunto de dados.
  3. Clique em Confirmar na caixa de diálogo de confirmação.

REST

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • project-number: o número do seu projeto
  • location-id: a região do Cloud em que a anotação deve ocorrer. As regiões de nuvem compatíveis são: us-east1, us-west1, europe-west1 e asia-east1. Se nenhuma região for especificada, uma região será determinada com base na localização do arquivo de vídeo.
  • datase-id: substitua pelo identificador do código do conjunto de dados.

Método HTTP e URL:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá um código de status de êxito (2xx) e uma resposta vazia.

Java

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

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

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

/**
 * 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

Para autenticar o rastreamento de objetos de vídeo do AutoML, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

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(f"Dataset deleted. {response.result()}")