Administra conjuntos de datos

Un proyecto puede tener varios conjuntos de datos, y cada uno se usa para entrenar un modelo diferente. Puedes obtener una lista de los conjuntos de datos disponibles y un conjunto de datos específico y, también, puedes exportar un conjunto de datos y borrar un conjunto que ya no necesites.

Enumera conjuntos de datos

Un proyecto puede incluir numerosos conjuntos de datos. En esta sección, se describe cómo recuperar una lista de los conjuntos de datos disponibles para un proyecto.

IU web

Para ver una lista de los conjuntos de datos disponibles mediante la IU de la detección de objetos de Cloud AutoML Vision, haz clic en el vínculo Datasets (Conjuntos de datos) ubicado en la parte superior del menú de navegación izquierdo.

Página de la lista de conjuntos de datos

Para ver los conjuntos de datos de un proyecto diferente, selecciona el proyecto de la lista desplegable en el lado izquierdo de la barra de título.

LÍNEA DE CMD Y REST

Antes de usar cualquiera de los siguientes datos de solicitud, realiza estos reemplazos:

  • project-id: Es el ID de tu proyecto de GCP.

Método HTTP y URL:

GET https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/datasets

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

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

PowerShell

Ejecuta el siguiente comando:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/datasets" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:



    {
  "datasets": [
    {
      "name": "projects/project-id/locations/us-central1/datasets/dataset-id",
      "displayName": "display-name",
      "createTime": "2018-10-29T15:45:53.353442Z",
      "exampleCount": 227,
      "imageObjectDetectionDatasetMetadata": {}
    }
  ]
}

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

import (
	"context"
	"fmt"
	"io"

	automl "cloud.google.com/go/automl/apiv1"
	"google.golang.org/api/iterator"
	automlpb "google.golang.org/genproto/googleapis/cloud/automl/v1"
)

// listDatasets lists existing datasets.
func listDatasets(w io.Writer, projectID string, location string) error {
	// projectID := "my-project-id"
	// location := "us-central1"

	ctx := context.Background()
	client, err := automl.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("NewClient: %v", err)
	}
	defer client.Close()

	req := &automlpb.ListDatasetsRequest{
		Parent: fmt.Sprintf("projects/%s/locations/%s", projectID, location),
	}

	it := client.ListDatasets(ctx, req)

	// Iterate over all results
	for {
		dataset, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("ListGlossaries.Next: %v", err)
		}

		fmt.Fprintf(w, "Dataset name: %v\n", dataset.GetName())
		fmt.Fprintf(w, "Dataset display name: %v\n", dataset.GetDisplayName())
		fmt.Fprintf(w, "Dataset create time:\n")
		fmt.Fprintf(w, "\tseconds: %v\n", dataset.GetCreateTime().GetSeconds())
		fmt.Fprintf(w, "\tnanos: %v\n", dataset.GetCreateTime().GetNanos())

		// Vision object detection
		if metadata := dataset.GetImageObjectDetectionDatasetMetadata(); metadata != nil {
			fmt.Fprintf(w, "Image object detection dataset metadata: %v\n", metadata)
		}

	}

	return nil
}

Java

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.Dataset;
import com.google.cloud.automl.v1.ListDatasetsRequest;
import com.google.cloud.automl.v1.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(
            "Image object detection dataset metadata: %s\n",
            dataset.getImageObjectDetectionDatasetMetadata());
      }
    }
  }
}

Node.js

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

/**
 * 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').v1;

// 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(
      `Image object detection dataset metatdata: ${dataset.imageObjectDetectionDatasetMetatdata}`
    );
  }
}

listDatasets();

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

from google.cloud import automl

# TODO(developer): Uncomment and set the following variables
# project_id = "YOUR_PROJECT_ID"

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(
        "Image object detection dataset metadata: {}".format(
            dataset.image_object_detection_dataset_metadata
        )
    )

Idiomas adicionales

C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de la detección de objetos de AutoML Vision para .NET.

PHP: Sigue las instrucciones de configuración de PHP que se muestran en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de detección de objetos de AutoML Vision para PHP.

Ruby: sigue las instrucciones de configuración de Ruby en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de la detección de objetos de AutoML Vision para Ruby.

Obtén un conjunto de datos

También puedes obtener un conjunto de datos específico con un ID de conjunto de datos.

IU web

Para ver una lista de los conjuntos de datos disponibles mediante la IU de la detección de objetos de Cloud AutoML Vision, haz clic en el vínculo Datasets (Conjuntos de datos) ubicado en la parte superior del menú de navegación izquierdo.

Página de la lista de conjuntos de datos

Para ver los conjuntos de datos de un proyecto diferente, selecciona el proyecto de la lista desplegable en el lado izquierdo de la barra de título.

Para acceder a un conjunto de datos específico, selecciona tu nombre en la lista.

LÍNEA DE CMD Y REST

Antes de usar cualquiera de los siguientes datos de solicitud, realiza estos reemplazos:

  • project-id: Es el ID de tu proyecto de GCP.
  • dataset-id: Es el ID del conjunto de datos. El ID es el último elemento del nombre del conjunto de datos. Por ejemplo:
    • Nombre del conjunto de datos: projects/project-id/locations/location-id/datasets/3104518874390609379
    • ID del conjunto de datos: 3104518874390609379

Método HTTP y URL:

GET https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/datasets/dataset-id

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

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

PowerShell

Ejecuta el siguiente comando:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/datasets/dataset-id" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:



    {
  "name": "projects/project-id/locations/us-central1/datasets/dataset-id",
  "displayName": "display-name",
  "createTime": "2019-03-31T22:29:41.136184Z",
  "etag": "AB3BwFo-bssF99O7d4iI4_kwfnSi5pIK8FQ4D8h6Z_EaC4thAeZFbgbaIDvqXWuzjx9s",
  "exampleCount": 225,
  "imageObjectDetectionDatasetMetadata": {}
}

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

import (
	"context"
	"fmt"
	"io"

	automl "cloud.google.com/go/automl/apiv1"
	automlpb "google.golang.org/genproto/googleapis/cloud/automl/v1"
)

// getDataset gets a dataset.
func getDataset(w io.Writer, projectID string, location string, datasetID string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// datasetID := "TRL123456789..."

	ctx := context.Background()
	client, err := automl.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("NewClient: %v", err)
	}
	defer client.Close()

	req := &automlpb.GetDatasetRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/datasets/%s", projectID, location, datasetID),
	}

	dataset, err := client.GetDataset(ctx, req)
	if err != nil {
		return fmt.Errorf("DeleteDataset: %v", err)
	}

	fmt.Fprintf(w, "Dataset name: %v\n", dataset.GetName())
	fmt.Fprintf(w, "Dataset display name: %v\n", dataset.GetDisplayName())
	fmt.Fprintf(w, "Dataset create time:\n")
	fmt.Fprintf(w, "\tseconds: %v\n", dataset.GetCreateTime().GetSeconds())
	fmt.Fprintf(w, "\tnanos: %v\n", dataset.GetCreateTime().GetNanos())

	// Vision object detection
	if metadata := dataset.GetImageObjectDetectionDatasetMetadata(); metadata != nil {
		fmt.Fprintf(w, "Image object detection dataset metadata: %v\n", metadata)
	}

	return nil
}

Java

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.Dataset;
import com.google.cloud.automl.v1.DatasetName;
import java.io.IOException;

class GetDataset {

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

  // Get a dataset
  static void getDataset(String projectId, String datasetId) 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()) {
      // Get the complete path of the dataset.
      DatasetName datasetFullId = DatasetName.of(projectId, "us-central1", datasetId);
      Dataset dataset = client.getDataset(datasetFullId);

      // Display the dataset information
      System.out.format("Dataset 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(
          "Image object detection dataset metadata: %s\n",
          dataset.getImageObjectDetectionDatasetMetadata());
    }
  }
}

Node.js

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

/**
 * 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').v1;

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

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

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

  console.log(`Dataset name: ${response.name}`);
  console.log(
    `Dataset id: ${
      response.name.split('/')[response.name.split('/').length - 1]
    }`
  );
  console.log(`Dataset display name: ${response.displayName}`);
  console.log('Dataset create time');
  console.log(`\tseconds ${response.createTime.seconds}`);
  console.log(`\tnanos ${response.createTime.nanos / 1e9}`);
  console.log(
    `Image object detection dataset metatdata: ${response.imageObjectDetectionDatasetMetatdata}`
  );
}

getDataset();

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

from google.cloud import automl

# TODO(developer): Uncomment and set the following variables
# project_id = "YOUR_PROJECT_ID"
# dataset_id = "YOUR_DATASET_ID"

client = automl.AutoMlClient()
# Get the full path of the dataset
dataset_full_id = client.dataset_path(project_id, "us-central1", dataset_id)
dataset = client.get_dataset(name=dataset_full_id)

# Display the dataset information
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(
    "Image object detection dataset metadata: {}".format(
        dataset.image_object_detection_dataset_metadata
    )
)

Idiomas adicionales

C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de la detección de objetos de AutoML Vision para .NET.

PHP: Sigue las instrucciones de configuración de PHP que se muestran en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de detección de objetos de AutoML Vision para PHP.

Ruby: sigue las instrucciones de configuración de Ruby en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de la detección de objetos de AutoML Vision para Ruby.

Exporta un conjunto de datos

Puedes exportar un archivo CSV con toda la información de un conjunto de datos a un bucket de Google Cloud Storage. Esto es muy útil para los casos en los que agregaste, borraste o modificaste anotaciones de imágenes de entrenamiento en la IU.

IU web

Para exportar un conjunto de datos que no esté vacío, realiza los siguientes pasos:

  1. Selecciona el conjunto de datos que no está vacío de la página Conjuntos de datos (Datasets).

    Imagen de la lista de conjunto de datos

    Si seleccionas el conjunto de datos no vacío, accederás a la página Detalles del conjunto de datos.

    IU de etiquetar imágenes de entrenamiento

  2. Selecciona la opción Exportar datos (Export data) en la parte superior de la página Detalles del conjunto de datos.

    botón para exportar conjunto de datos

    Se abrirá una ventana en la que puedes elegir una ubicación de bucket de Google Cloud Storage o crear un bucket nuevo y designarlo como la ubicación para almacenar el archivo CSV.

    ventana emergente de estadísticas de etiquetas

  3. Selecciona Exportar CSV luego de haber seleccionado una ubicación de depósito de Google Cloud Storage nueva o existente.

    botón para exportar CSV

  4. Recibirás un correo electrónico cuando se complete el proceso de exportación de datos.

    Correo electrónico de exportación completada

LÍNEA DE CMD Y REST

Antes de usar cualquiera de los siguientes datos de solicitud, realiza estos reemplazos:

  • project-id: Es el ID de tu proyecto de GCP.
  • dataset-id: Es el ID del conjunto de datos. El ID es el último elemento del nombre del conjunto de datos. Por ejemplo:
    • Nombre del conjunto de datos: projects/project-id/locations/location-id/datasets/3104518874390609379
    • ID del conjunto de datos: 3104518874390609379
  • output-storage-bucket: Es un depósito o directorio de Google Cloud Storage para guardar archivos de salida, que se expresa en el siguiente formato: gs://bucket/directory/. El usuario que realice la solicitud debe tener permiso de escritura en el bucket.

Método HTTP y URL:

POST https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/datasets/dataset-id:exportData

Cuerpo JSON de la solicitud:

{
  "outputConfig": {
    "gcsDestination": {
      "outputUriPrefix": "cloud-storage-bucket"
    }
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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/v1/projects/project-id/locations/us-central1/datasets/dataset-id:exportData

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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/v1/projects/project-id/locations/us-central1/datasets/dataset-id:exportData" | Select-Object -Expand Content

Deberías ver un resultado similar al siguiente. Puedes usar el ID de operación para obtener el estado de la tarea. Para ver un ejemplo, consulta Trabaja con operaciones de larga duración.

{
  "name": "projects/project-id/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-08-12T18:52:31.637075Z",
    "updateTime": "2019-08-12T18:52:31.637075Z",
    "exportDataDetails": {
      "outputInfo": {
        "gcsOutputDirectory": "cloud-storage-bucket/export_data-dataset-name-timestamp-of-export-call/"
      }
    }
  }
}

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

import (
	"context"
	"fmt"
	"io"

	automl "cloud.google.com/go/automl/apiv1"
	automlpb "google.golang.org/genproto/googleapis/cloud/automl/v1"
)

// exportDataset exports a dataset.
func exportDataset(w io.Writer, projectID string, location string, datasetID string, outputURI string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// datasetID := "TRL123456789..."
	// outputURI := "gs://BUCKET_ID/path_to_export/"

	ctx := context.Background()
	client, err := automl.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("NewClient: %v", err)
	}
	defer client.Close()

	req := &automlpb.ExportDataRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/datasets/%s", projectID, location, datasetID),
		OutputConfig: &automlpb.OutputConfig{
			Destination: &automlpb.OutputConfig_GcsDestination{
				GcsDestination: &automlpb.GcsDestination{
					OutputUriPrefix: outputURI,
				},
			},
		},
	}

	op, err := client.ExportData(ctx, req)
	if err != nil {
		return fmt.Errorf("ExportData: %v", err)
	}
	fmt.Fprintf(w, "Processing operation name: %q\n", op.Name())

	if err := op.Wait(ctx); err != nil {
		return fmt.Errorf("Wait: %v", err)
	}

	fmt.Fprintf(w, "Dataset exported.\n")

	return nil
}

Java

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

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

class ExportDataset {

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

  // Export a dataset to a GCS bucket
  static void exportDataset(String projectId, String datasetId, String gcsUri)
      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 complete path of the dataset.
      DatasetName datasetFullId = DatasetName.of(projectId, "us-central1", datasetId);
      GcsDestination gcsDestination =
          GcsDestination.newBuilder().setOutputUriPrefix(gcsUri).build();

      // Export the dataset to the output URI.
      OutputConfig outputConfig =
          OutputConfig.newBuilder().setGcsDestination(gcsDestination).build();

      System.out.println("Processing export...");
      Empty response = client.exportDataAsync(datasetFullId, outputConfig).get();
      System.out.format("Dataset exported. %s\n", response);
    }
  }
}

Node.js

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

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

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

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

async function exportDataset() {
  // Construct request
  const request = {
    name: client.datasetPath(projectId, location, datasetId),
    outputConfig: {
      gcsDestination: {
        outputUriPrefix: gcsUri,
      },
    },
  };

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

exportDataset();

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

from google.cloud import automl

# TODO(developer): Uncomment and set the following variables
# project_id = "YOUR_PROJECT_ID"
# dataset_id = "YOUR_DATASET_ID"
# gcs_uri = "gs://YOUR_BUCKET_ID/path/to/export/"

client = automl.AutoMlClient()

# Get the full path of the dataset
dataset_full_id = client.dataset_path(project_id, "us-central1", dataset_id)

gcs_destination = automl.GcsDestination(output_uri_prefix=gcs_uri)
output_config = automl.OutputConfig(gcs_destination=gcs_destination)

response = client.export_data(name=dataset_full_id, output_config=output_config)
print(f"Dataset exported. {response.result()}")

Idiomas adicionales

C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de la detección de objetos de AutoML Vision para .NET.

PHP: Sigue las instrucciones de configuración de PHP que se muestran en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de detección de objetos de AutoML Vision para PHP.

Ruby: sigue las instrucciones de configuración de Ruby en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de la detección de objetos de AutoML Vision para Ruby.

Formato de archivo CSV exportado

El archivo CSV exportado contiene el mismo formato que el CSV de importación de datos de entrenamiento:

set,path,label,x_min,y_min,x_max,y_min,x_max,y_max,x_min,y_max

Este archivo CSV se guarda en una carpeta de exportación creada que se distingue por tener una marca de tiempo única. A continuación, se muestran algunas líneas de muestra de un archivo CSV exportado:

/export_data-salad_dataset-2019-05-29T18:12:18.750Z/image_object_detection_1.csv

TRAIN,gs://my-storage-bucket/img/img009.jpg,Cheese,0.643239,0.362779,0.662498,0.362779,0.662498,0.416544,0.643239,0.416544
TRAIN,gs://my-storage-bucket/img/img009.jpg,Salad,0.205697,0.255249,0.459074,0.255249,0.459074,0.775244,0.205697,0.775244
TEST,gs://my-storage-bucket/img/img118.jpg,Cheese,0.320334,0.501238,0.726751,0.501238,0.726751,0.741431,0.320334,0.741431
TEST,gs://my-storage-bucket/img/img118.jpg,Salad,0.0,0.037361,1.0,0.037361,1.0,0.926321,0.0,0.926321
TEST,gs://my-storage-bucket/img/img118.jpg,Cheese,0.358745,0.29076,0.740381,0.29076,0.740381,0.497936,0.358745,0.497936
TRAIN,gs://my-storage-bucket/img/img375.jpg,Tomato,0.027274,0.41247,0.43122,0.41247,0.43122,0.702593,0.027274,0.702593
VALIDATION,gs://my-storage-bucket/img/img852.jpg,Tomato,0.716958,0.178534,0.805999,0.178534,0.805999,0.329861,0.716958,0.329861
VALIDATION,gs://my-storage-bucket/img/img852.jpg,Tomato,0.858044,0.297255,0.950847,0.297255,0.950847,0.39173,0.858044,0.39173
VALIDATION,gs://my-storage-bucket/img/img852.jpg,Tomato,0.199644,0.624155,0.321919,0.624155,0.321919,0.796384,0.199644,0.796384
VALIDATION,gs://my-storage-bucket/img/img852.jpg,Cheese,0.399672,0.277189,0.600955,0.277189,0.600955,0.47032,0.399672,0.47032

Ten en cuenta que solo hay una representación por línea de un cuadro de límite y de su etiqueta. Esta información indica lo siguiente:

  • img009.jpg: Se encuentra en el conjunto TRAIN y contiene dos cuadros de límite con etiquetas Cheese y Salad.
  • img118.jpg: Se encuentra en el conjunto TEST y tiene tres cuadros de límite con etiquetas Cheese, Salad y Cheese.
  • img375.jpg: Se encuentra en el conjunto TRAIN y tiene un cuadro de límite con una etiqueta Tomato.
  • img852.jpg: Se encuentra en el conjunto VALIDATION y tiene 4 cuadros de límite distintos con etiquetas Tomato, Tomato, Tomato y Cheese.

Borra un conjunto de datos

Puedes borrar un recurso del conjunto de datos con el ID del conjunto de datos.

IU web

  1. En la IU de la detección de objetos de Cloud AutoML Vision, haz clic en el vínculo Datasets (Conjuntos de datos) en la parte superior del menú de navegación izquierdo para ver la lista de conjuntos de datos disponibles.

    IU de Borra un conjunto de datos

  2. Haz clic en el menú de tres puntos en el extremo derecho de la fila que deseas borrar y selecciona Delete dataset (Borrar conjunto de datos).

  3. Haz clic en Borrar en el cuadro de diálogo de confirmación.

LÍNEA DE REST Y CMD

Antes de usar cualquiera de los siguientes datos de solicitud, realiza estos reemplazos:

  • project-id: Es el ID de tu proyecto de GCP.
  • dataset-id: Es el ID del conjunto de datos. El ID es el último elemento del nombre del conjunto de datos. Por ejemplo:
    • Nombre del conjunto de datos: projects/project-id/locations/location-id/datasets/3104518874390609379
    • ID del conjunto de datos: 3104518874390609379

Método HTTP y URL:

DELETE https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/datasets/dataset-id

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

curl -X DELETE \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/datasets/dataset-id

PowerShell

Ejecuta el siguiente comando:

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/datasets/dataset-id" | Select-Object -Expand Content

Deberías ver un resultado similar al siguiente. Puedes usar el ID de operación para obtener el estado de la tarea. Para ver un ejemplo, consulta Trabaja con operaciones de larga duración.

{
  "name": "projects/project-id/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-11-08T22:37:19.822128Z",
    "updateTime": "2019-11-08T22:37:19.822128Z",
    "deleteDetails": {}
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty"
  }
}

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

import (
	"context"
	"fmt"
	"io"

	automl "cloud.google.com/go/automl/apiv1"
	automlpb "google.golang.org/genproto/googleapis/cloud/automl/v1"
)

// deleteDataset deletes a dataset.
func deleteDataset(w io.Writer, projectID string, location string, datasetID string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// datasetID := "TRL123456789..."

	ctx := context.Background()
	client, err := automl.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("NewClient: %v", err)
	}
	defer client.Close()

	req := &automlpb.DeleteDatasetRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/datasets/%s", projectID, location, datasetID),
	}

	op, err := client.DeleteDataset(ctx, req)
	if err != nil {
		return fmt.Errorf("DeleteDataset: %v", err)
	}
	fmt.Fprintf(w, "Processing operation name: %q\n", op.Name())

	if err := op.Wait(ctx); err != nil {
		return fmt.Errorf("Wait: %v", err)
	}

	fmt.Fprintf(w, "Dataset deleted.\n")

	return nil
}

Java

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.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

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

/**
 * 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').v1;

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

Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.

from google.cloud import automl

# TODO(developer): Uncomment and set the following variables
# project_id = "YOUR_PROJECT_ID"
# dataset_id = "YOUR_DATASET_ID"

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()))

Idiomas adicionales

C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de la detección de objetos de AutoML Vision para .NET.

PHP: Sigue las instrucciones de configuración de PHP que se muestran en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de detección de objetos de AutoML Vision para PHP.

Ruby: sigue las instrucciones de configuración de Ruby en la página de bibliotecas cliente y, luego, visita el 101} Documentación de referencia de la detección de objetos de AutoML Vision para Ruby.