En esta página, se muestra cómo crear un conjunto de datos de Vertex AI a partir de tus datos de imágenes para que puedas comenzar a entrenar modelos de clasificación. Puedes crear un conjunto de datos con la consola de Google Cloud o la API de Vertex AI.
Crea un conjunto de datos vacío y, luego, importa o asocia tus datos
Consola de Google Cloud
Usa las siguientes instrucciones para crear un conjunto de datos vacío y, luego, importar o asociar tus datos.
- En la sección Vertex AI de la consola de Google Cloud, 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.
- Modifica el campo Nombre del conjunto de datos para crear un nombre visible descriptivo.
- Selecciona la pestaña Imagen.
- Selecciona la clasificación de imágenes de una o varias etiquetas como objetivo.
- Selecciona una región de la lista desplegable Región.
- Haz clic en Crear para crear tu conjunto de datos vacío y avanza a la página de importación de datos.
- Elige una de las siguientes opciones de la sección Seleccionar un método de importación:
Sube datos desde la computadora
- En la sección Seleccionar un método de importación, elige subir datos desde su computadora.
- Haz clic en Seleccionar archivos y elige todos los archivos locales que deseas subir a un bucket de Cloud Storage.
- En la sección Seleccionar una ruta de acceso de Cloud Storage, haz clic en Explorar para seleccionar la ubicación de un bucket de Cloud Storage al que se subirán los datos.
Sube un archivo de importación desde la computadora
- Haz clic en Subir un archivo de importación desde la computadora.
- Haz clic en Seleccionar archivos y elige el archivo de importación local que deseas subir a un bucket de Cloud Storage.
- En la sección Seleccionar una ruta de acceso de Cloud Storage, haz clic en Explorar a fin de elegir la ubicación de un bucket de Cloud Storage al que se subirá el archivo.
Selecciona un archivo de importación de Cloud Storage
- Haz clic en Seleccionar un archivo de importación de Cloud Storage.
- En la sección Seleccionar una ruta de acceso de Cloud Storage, haz clic en Explorar para elegir el archivo de importación en Cloud Storage.
- Haz clic en Continuar.
La importación de los datos puede demorar varias horas, según el tamaño de sus datos. Puedes cerrar esta pestaña y regresar a ella más tarde. Recibirás un correo electrónico cuando se importen tus datos.
API
A fin de crear un modelo de aprendizaje automático, primero debes tener una colección representativa de datos para entrenar. Después de importar los datos, puedes realizar modificaciones y comenzar el entrenamiento de modelos.
Crea un conjunto de datos
Usa las siguientes muestras con el fin de crear un conjunto de datos para tus datos.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
LOCATION: La región en la que se almacenará el conjunto de datos. Debe ser una región que admita los recursos del conjunto de datos. Por ejemplo,
us-central1
. Consulta Lista de ubicaciones disponibles. - PROJECT: El ID del 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ías ver un resultado similar al siguiente. Puedes usar el 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 google_vertex_ai_dataset
de Terraform para crear un conjunto de datos de imágenes llamado image-dataset
.
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
En el siguiente ejemplo, se usa el SDK de Vertex AI para Python a fin de crear un conjunto de datos y también importar datos. Si ejecutas este código de muestra, puedes omitir la sección Importar datos de esta guía.
En esta muestra en particular, se importan datos para la clasificación con una sola etiqueta. Si tu modelo tiene un objetivo diferente, debes ajustar el código.
Importar datos
Después de crear un conjunto de datos vacío, puedes importar tus datos al conjunto de datos. Si usaste el SDK de Vertex AI para Python a fin de crear el conjunto de datos, es posible que ya hayas importado los datos cuando creaste el conjunto de datos. Si es así, puedes omitir esta sección.
A continuación, selecciona la pestaña para tu objetivo:
Clasificación de una sola etiqueta
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
LOCATION: La región en la que se encuentra el conjunto de datos. Por ejemplo,
us-central1
. - PROJECT_ID: El ID del proyecto.
- DATASET_ID: Es el ID del conjunto de datos.
- IMPORT_FILE_URI: Ruta de acceso al archivo CSV o de JSON Lines en Cloud Storage que enumera los elementos de datos almacenados en Cloud Storage para usarlos en el entrenamiento de modelos. Para conocer los formatos de archivo y las limitaciones, consulta Prepara 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ías ver un resultado similar al siguiente. Puedes usar el 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 instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Clasificación con varias etiquetas
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
LOCATION: La región en la que se encuentra el conjunto de datos. Por ejemplo,
us-central1
. - PROJECT_ID: El ID del proyecto.
- DATASET_ID: Es el ID del conjunto de datos.
- IMPORT_FILE_URI: Ruta de acceso al archivo CSV o de JSON Lines en Cloud Storage que enumera los elementos de datos almacenados en Cloud Storage para usarlos en el entrenamiento de modelos. Para conocer los formatos de archivo y las limitaciones, consulta Prepara 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ías ver un resultado similar al siguiente. Puedes usar el 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
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Obtén 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 en operaciones de larga duración. Para obtener más información, consulta Trabaja con operaciones de larga duración.