En esta página se explica cómo crear un conjunto de datos de Vertex AI a partir de tus datos de imagen para que puedas empezar a entrenar modelos de clasificación. Puedes crear un conjunto de datos con la Google Cloud consola o la API de Vertex AI.
Crear un conjunto de datos vacío e importar o asociar sus datos
Google Cloud consola
Sigue estas instrucciones para crear un conjunto de datos vacío e importar o asociar tus datos.
- En la Google Cloud consola, en la sección Vertex AI, ve a la página Conjuntos de datos.
- Haz clic en Crear para abrir la página de detalles de creación del conjunto de datos.
- Modifique el campo Nombre del conjunto de datos para crear un nombre descriptivo del conjunto de datos.
- Selecciona la pestaña Imagen.
- Selecciona la clasificación de imágenes con una sola etiqueta o con varias como objetivo.
- Selecciona una región en la lista desplegable Región.
- Haz clic en Crear para crear el conjunto de datos vacío y ve a la página de importación de datos.
- Elige una de las siguientes opciones en la sección Seleccionar un método de importación:
Subir datos desde tu ordenador
- En la sección Seleccionar un método de importación, elige subir datos desde tu ordenador.
- Haz clic en Seleccionar archivos y elige todos los archivos locales que quieras subir a un segmento de Cloud Storage.
- En la sección Selecciona una ruta de Cloud Storage, haz clic en Examinar para elegir una ubicación de segmento de Cloud Storage en la que subir tus datos.
Subir un archivo de importación desde tu ordenador
- Haz clic en Subir un archivo de importación desde tu ordenador.
- Haga clic en Seleccionar archivos y elija el archivo de importación local que quiera subir a un segmento de Cloud Storage.
- En la sección Selecciona una ruta de Cloud Storage, haz clic en Examinar para elegir una ubicación de segmento de Cloud Storage en la que subir el archivo.
Seleccionar un archivo de importación de Cloud Storage
- Haz clic en Seleccionar un archivo de importación de Cloud Storage.
- En la sección Select a Cloud Storage path (Seleccionar una ruta de Cloud Storage), haz clic en Browse (Buscar) para elegir el archivo de importación en Cloud Storage.
- Haz clic en Continuar.
La importación de datos puede tardar varias horas, en función del tamaño de los datos. Puedes cerrar esta pestaña y volver a ella más adelante. Recibirás un correo cuando se hayan importado tus datos.
API
Para crear un modelo de aprendizaje automático, primero debes tener una colección de datos representativa con la que entrenarlo. Después de importar los datos, puedes hacer modificaciones y empezar a entrenar el modelo.
Crear conjunto de datos
Usa los siguientes ejemplos para crear un conjunto de datos con tus datos.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
LOCATION: región en la que se almacenará el conjunto de datos. Debe ser una región que admita recursos de conjuntos de datos. Por ejemplo,
us-central1
. Consulta la lista de ubicaciones disponibles. - PROJECT: tu ID de proyecto.
- DATASET_NAME: nombre del conjunto de datos.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets
Cuerpo JSON de la solicitud:
{ "display_name": "DATASET_NAME", "metadata_schema_uri": "gs://google-cloud-aiplatform/schema/dataset/metadata/image_1.0.0.yaml" }
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 "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets" | Select-Object -Expand Content
Debería ver un resultado similar al siguiente. Puedes usar OPERATION_ID en la respuesta para obtener el estado de la operación.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateDatasetOperationMetadata", "genericMetadata": { "createTime": "2020-07-07T21:27:35.964882Z", "updateTime": "2020-07-07T21:27:35.964882Z" } } }
Terraform
En el siguiente ejemplo se usa el recurso de Terraform google_vertex_ai_dataset
para crear un conjunto de datos de imágenes llamado image-dataset
.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
En el siguiente ejemplo se usa el SDK de Vertex AI para Python para crear un conjunto de datos e importar datos. Si ejecutas este código de ejemplo, puedes saltarte la sección Importar datos de esta guía.
En este ejemplo concreto se importan datos para la clasificación con una sola etiqueta. Si tu modelo tiene un objetivo diferente, debes ajustar el código.
Importación de datos
Una vez que hayas creado un conjunto de datos vacío, podrás importar tus datos. Si has usado el SDK de Vertex AI para Python para crear el conjunto de datos, es posible que ya hayas importado datos al crearlo. Si es así, puedes saltarte esta sección.
Seleccione la pestaña correspondiente a su objetivo:
Clasificación con una sola etiqueta
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
LOCATION: región en la que se encuentra el conjunto de datos. Por ejemplo,
us-central1
. - PROJECT_ID: .
- DATASET_ID: ID del conjunto de datos.
- IMPORT_FILE_URI: ruta al archivo CSV o JSON Lines en Cloud Storage que contiene una lista de los elementos de datos almacenados en Cloud Storage que se van a usar para entrenar el modelo. Para obtener información sobre los formatos y las limitaciones de los archivos de importación, consulta Preparar datos de imagen.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import
Cuerpo JSON de la solicitud:
{ "import_configs": [ { "gcs_source": { "uris": "IMPORT_FILE_URI" }, "import_schema_uri" : "gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml" } ] }
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 "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import"
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" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import" | Select-Object -Expand Content
Debería ver un resultado similar al siguiente. Puedes usar OPERATION_ID en la respuesta para obtener el estado de la operación.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ImportDataOperationMetadata", "genericMetadata": { "createTime": "2020-07-08T20:32:02.543801Z", "updateTime": "2020-07-08T20:32:02.543801Z" } } }
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Clasificación de varias etiquetas
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
LOCATION: región en la que se encuentra el conjunto de datos. Por ejemplo,
us-central1
. - PROJECT_ID: .
- DATASET_ID: ID del conjunto de datos.
- IMPORT_FILE_URI: ruta al archivo CSV o JSON Lines en Cloud Storage que contiene una lista de los elementos de datos almacenados en Cloud Storage que se van a usar para entrenar el modelo. Para obtener información sobre los formatos y las limitaciones de los archivos de importación, consulta Preparar datos de imagen.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import
Cuerpo JSON de la solicitud:
{ "import_configs": [ { "gcs_source": { "uris": "IMPORT_FILE_URI" }, "import_schema_uri" : "gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_multi_label_io_format_1.0.0.yaml" } ] }
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 "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import"
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" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import" | Select-Object -Expand Content
Debería ver un resultado similar al siguiente. Puedes usar OPERATION_ID en la respuesta para obtener el estado de la operación.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ImportDataOperationMetadata", "genericMetadata": { "createTime": "2020-07-08T20:32:02.543801Z", "updateTime": "2020-07-08T20:32:02.543801Z" } } }
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Obtener el estado de la operación
Algunas solicitudes inician operaciones de larga duración que requieren tiempo para completarse. Estas solicitudes devuelven un nombre de operación que puedes usar para ver el estado de la operación o cancelarla. Vertex AI proporciona métodos auxiliares para hacer llamadas a operaciones de larga duración. Para obtener más información, consulta Trabajar con operaciones de larga duración.