Un conjunto de datos contiene muestras representativas del tipo de contenido que deseas clasificar, marcado con etiquetas y cuadros de límite. El conjunto de datos sirve como entrada para entrenar un modelo.
Los pasos principales para compilar un conjunto de datos son:
- Crea un conjunto de datos y dale un nombre fácil de recordar.
- Importa ejemplos de datos al conjunto de datos.
- Modifica las anotaciones de imágenes importadas (opcional) para agregar, borrar o modificar cuadros de límite y etiquetas en las imágenes.
Crea un conjunto de datos
El primer paso para crear un modelo personalizado con la API de AutoML es crear un conjunto de datos vacío que contendrá los datos de entrenamiento del modelo más adelante.
A partir de la versión con disponibilidad general (GA) de la detección de objetos de AutoML Vision, esta solicitud muestra el ID de una operación de larga duración.
Una vez que se completa la operación de larga duración, puedes importar imágenes en ella. El conjunto de datos recién creado no contendrá datos hasta que importes imágenes en él.
Guarda el ID del conjunto de datos nuevo (de la respuesta) para usarlo con otras operaciones, como importar imágenes al conjunto de datos y entrenar un modelo.
IU web
La IU de detección de objetos de AutoML Vision te permite crear un conjunto de datos nuevo e importar imágenes al conjunto desde la misma página.Abre la IU de la detección de objetos de AutoML Vision.
En la página Datasets (Conjuntos de datos), se muestra el estado de los conjuntos de datos que se crearon antes para el proyecto actual.
Para agregar un conjunto de datos a un proyecto diferente, selecciona el proyecto de la lista desplegable en la esquina superior derecha de la barra de título.
Haz clic en el botón New Dataset (Conjunto de datos nuevo) en la barra de título.
En la ventana emergente Create new dataset (Crear un conjunto de datos nuevo), ingresa un nombre para el conjunto de datos y selecciona la opción “Create dataset” (Crear conjunto de datos).
Después de crear un conjunto de datos vacío, se te dirige a la pestaña Import (Importar) en la página de detalles del conjunto de datos. Luego, puedes especificar la ubicación de Google Cloud Storage del archivo .csv que contiene las imágenes de entrenamiento que se incluirán en el conjunto de datos. Estas imágenes de entrenamiento deben almacenarse de manera similar en un bucket de Google Cloud Storage.
Para crear un conjunto de datos, debes subir un archivo .csv que contenga las imágenes de entrenamiento con sus etiquetas y cuadros de límite asociados de Google Cloud Storage.
Una vez que se complete la importación, puedes agregar, quitar o modificar cualquier anotación en la IU.
Selecciona Import (Importar).
Se te dirigirá a la página Conjuntos de datos; el conjunto de datos mostrará una animación en curso mientras se importan las imágenes. Este proceso suele llevar alrededor de 10 minutos por cada 1,000 ejemplos, aunque el tiempo puede variar.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto de GCP.
- display-name: Es el nombre visible de la string que elijas.
Método HTTP y URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets
Cuerpo JSON de la solicitud:
{ "displayName": "DISPLAY_NAME", "imageObjectDetectionDatasetMetadata": { } }
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 print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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" | Select-Object -Expand Content
Deberías ver un resultado similar al siguiente. Puedes usar el ID de operación (IOD3819960680614725486
, en este caso) 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/IOD3819960680614725486", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-11-14T16:49:13.667526Z", "updateTime": "2019-11-14T16:49:13.667526Z", "createDatasetDetails": {} } }
Una vez que se completó la operación de larga duración, puedes obtener el ID del conjunto de datos con la misma solicitud de estado de la operación. La respuesta debería ser similar a la siguiente:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/IOD3819960680614725486", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-11-14T16:49:13.667526Z", "updateTime": "2019-11-14T16:49:17.975314Z", "createDatasetDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.automl.v1.Dataset", "name": "projects/PROJECT_ID/locations/us-central1/datasets/IOD5496445433112696489" } }
Go
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.
Idiomas adicionales
C#: sigue las instrucciones de configuración de C# en la página Bibliotecas cliente y, luego, visita la documentación de referencia de la detección de objetos de AutoML Vision para .NET.
PHP: sigue las instrucciones de configuración de PHP en la página Bibliotecas cliente y, luego, visita la 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 Bibliotecas cliente y, luego, visita la documentación de referencia de detección de objetos de AutoML Vision para Ruby.
Importa imágenes a un conjunto de datos
Después de crear un conjunto de datos, puedes importar URI de imágenes y cuadros de límite etiquetados para las imágenes de un archivo CSV almacenado en un bucket de Google Cloud Storage.
Si deseas obtener detalles sobre cómo preparar los datos y crear un archivo CSV para importar, consulta Prepara los datos de entrenamiento. Para obtener detalles sobre cómo modificar las anotaciones de imágenes después de importarlas, consulta Anota imágenes de entrenamiento importadas.
Puedes importar imágenes a un conjunto de datos vacío o a uno que ya contenga imágenes de entrenamiento.
IU web
Para la detección de objetos de AutoML Vision, la creación del conjunto de datos y la importación de imágenes se combinan en pasos consecutivos en la IU.
Importa imágenes a un conjunto de datos vacío:
Para la creación posterior del conjunto de datos, se te pedirá que importes imágenes directamente después de crear un conjunto de datos vacío, pero este paso de importación no es necesario en ese momento.
Para importar imágenes a un conjunto de datos vacío, completa los siguientes pasos:
Selecciona el conjunto de datos vacío de la página Conjuntos de datos (Datasets).
En la página Import (Importar), agrega la ubicación de Google Cloud Storage del archivo .csv. Después de indicar la ubicación del archivo, selecciona Import (Importar) para comenzar el proceso de importación del archivo.
Importa imágenes a un conjunto de datos que no está vacío:
Tienes la opción de agregar más imágenes de entrenamiento a un conjunto de datos que ya contiene este tipo de imágenes.
Para agregar imágenes de entrenamiento a un conjunto de datos que no está vacío, realiza los siguientes pasos:
Selecciona el conjunto de datos no vacío de la página Conjuntos de datos (Datasets).
Si seleccionas el conjunto de datos no vacío, accederás a la página Detalles del conjunto de datos.
En la página Detalles del conjunto de datos, selecciona la pestaña Importar (Import).
Si seleccionas la pestaña Import (Importar), accederás a la página Crear conjunto de datos. Luego, puedes especificar la ubicación de Google Cloud Storage del archivo .csv y seleccionar Import (Importar) para comenzar el proceso de importación de imágenes.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del 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
- Nombre del conjunto de datos:
- input-storage-path: La ruta de acceso a un archivo CSV almacenado en Google Cloud Storage. El usuario que realice la solicitud debe tener, como mínimo, permiso de lectura en el bucket
Método HTTP y URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/DATASET_ID:importData
Cuerpo JSON de la solicitud:
{ "inputConfig": { "gcsSource": { "inputUris": ["INPUT_STORAGE_PATH"] } } }
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 print-access-token)" \
-H "x-goog-user-project: project-id" \
-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:importData"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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:importData" | 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": "2018-10-29T15:56:29.176485Z", "updateTime": "2018-10-29T15:56:29.176485Z", "importDataDetails": {} } }
Go
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página Bibliotecas cliente.
Idiomas adicionales
C#: sigue las instrucciones de configuración de C# en la página Bibliotecas cliente y, luego, visita la documentación de referencia de la detección de objetos de AutoML Vision para .NET.
PHP: sigue las instrucciones de configuración de PHP en la página Bibliotecas cliente y, luego, visita la 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 Bibliotecas cliente y, luego, visita la documentación de referencia de detección de objetos de AutoML Vision para Ruby.
En la página Anota imágenes de entrenamiento importadas, se explica cómo agregar de forma manual cuadros de límite y etiquetas a imágenes en la IU y, también, cómo enumerar estadísticas de etiquetas.
En la página Administra conjuntos de datos, se incluye más información sobre cómo usar un recurso de conjunto de datos, por ejemplo, cómo enumerar, obtener, exportar o borrar un conjunto de datos.
Trabajar con operaciones de larga duración
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto de GCP.
- operation-id: Es el ID de la operación. El ID es el último elemento del nombre de tu operación. Por ejemplo:
- Nombre de la operación:
projects/project-id/locations/location-id/operations/IOD5281059901324392598
- ID de la operación:
IOD5281059901324392598
- Nombre de la operación:
Método HTTP y URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID" | Select-Object -Expand Content
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2018-10-29T15:56:29.176485Z", "updateTime": "2018-10-29T16:10:41.326614Z", "importDataDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty" } }
Deberías ver un resultado similar al siguiente para una operación de creación de modelo completada:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-07-22T18:35:06.881193Z", "updateTime": "2019-07-22T19:58:44.972235Z", "createModelDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.automl.v1.Model", "name": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID" } }
Go
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página API y referencia > Bibliotecas cliente.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página API y referencia > Bibliotecas cliente.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página API y referencia > Bibliotecas cliente.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración para este lenguaje en la página API y referencia > Bibliotecas cliente.
Idiomas adicionales
C#: sigue las instrucciones de configuración de C# en la página Bibliotecas cliente y, luego, visita la documentación de referencia de AutoML Vision para .NET.
PHP: sigue las instrucciones de configuración de PHP en la página Bibliotecas cliente y, luego, visita la documentación de referencia de AutoML Vision para PHP.
Ruby: sigue las instrucciones de configuración de Ruby en la página Bibliotecas cliente y, luego, visita la documentación de referencia de AutoML Vision para Ruby.