El SDK de Vertex AI incluye clases que almacenan y leen datos usados para entrenar un modelo. Cada clase relacionada con datos representa un conjunto de datos administrado de Vertex AI que tiene datos estructurados, datos no estructurados o datos de Vertex AI Feature Store. Después de crear un conjunto de datos, lo usarás para entrenar tu modelo.
En los siguientes temas, se proporcionan explicaciones breves de cada clase relacionada con datos en el SDK de Vertex AI. El tema de cada clase incluye un ejemplo de código que muestra cómo crear una instancia de esa clase. Después de crear un conjunto de datos, puedes usar su ID para recuperarlo:
dataset = aiplatform.ImageDataset('projects/my-project/location/my-region/datasets/{DATASET_ID}')
Clases de datos estructurados
Las siguientes clases funcionan con datos estructurados, que están organizados en filas y columnas. Los datos estructurados a menudo se usan para almacenar números, fechas, valores y cadenas.
TabularDataset
Usa esta clase para trabajar con conjuntos de datos tabulares. Puedes usar un archivo CSV o un pandasDataFrame
para crear un conjunto de datos tabular. Para obtener más información sobre paginar los datos de BigQuery, consulta Lee datos con la API de BigQuery mediante paginación.
Para obtener más información sobre datos tabulares, consultaDatos tabulares.
En el siguiente código, se muestra cómo crear un conjunto de datos tabular mediante la importación de un archivo CSV.
my_dataset = aiplatform.TabularDataset.create(
display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])
En el siguiente código, se muestra cómo crear un conjunto de datos tabular mediante la importación de un archivo CSV en dos pasos distintos.
my_dataset = aiplatform.TextDataset.create(
display_name="my-dataset")
my_dataset.import(
gcs_source=['gs://path/to/my/dataset.csv']
import_schema_uri=aiplatform.schema.dataset.ioformat.text.multi_label_classification
)
Si creas un conjunto de datos tabulares con un DataFrame
de Pandas, debes usar una tabla de BigQuery para almacenar en etapa intermedia los datos de Vertex AI:
my_dataset = aiplatform.TabularDataset.create_from_dataframe(
df_source=my_pandas_dataframe,
staging_path=f"bq://{bq_dataset_id}.table-unique"
)
TimeSeriesDataset
Usa esta clase para trabajar con conjuntos de datos de series temporales. Una serie temporal es un conjunto de datos que contiene datos registrados en diferentes intervalos de tiempo. El conjunto de datos incluye el tiempo y, al menos, una variable que depende del tiempo. Usa un conjunto de datos de series temporales para obtener predicciones de previsión. Para obtener más información, consulta la Descripción general de la previsión.
Puedes crear un conjunto de datos de series temporales administradas desde archivos CSV en un bucket de Cloud Storage o desde una tabla de BigQuery.
En el siguiente código, se muestra cómo crear un TimeSeriesDataset
mediante la importación de un archivo de fuente de datos CSV que tiene el conjunto de datos de series temporales:
my_dataset = aiplatform.TimeSeriesDataset.create(
display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])
En el siguiente código, se muestra cómo crear un TimeSeriesDataset
con un archivo de una tabla de BigQuery que tiene el conjunto de datos de series temporales:
my_dataset = aiplatform.TimeSeriesDataset.create(
display_name="my-dataset", bq_source=['bq://path/to/my/bigquerydataset.train'])
Clases de datos no estructurados
Las siguientes clases funcionan con datos no estructurados que no pueden almacenarse en una base de datos relacional tradicional. A menudo, se almacena como audio, texto, archivos de video o como una base de datos NoSQL.
ImageDataset
Usa esta clase para trabajar con un conjunto de datos de imágenes administradas. Para crear un conjunto de datos de imágenes administradas, necesitas un archivo de fuente de datos en formato CSV y un archivo de esquema en formato YAML. Un esquema es opcional para un modelo personalizado. Se accede al archivo CSV y al esquema en los buckets de Cloud Storage.
Usa los datos de imágenes para los siguientes objetivos:
- Clasificación con etiqueta única. Si deseas obtener más información, consulta Prepara datos de entrenamiento de imágenes para la clasificación con etiqueta única.
- Clasificación con etiquetas múltiples. Si deseas obtener más información, consulta Prepara datos de entrenamiento de imágenes para la clasificación con etiquetas múltiples.
- Detección de objetos. Si quieres obtener más información, consulta Prepara datos de entrenamiento de imágenes para la detección de objetos.
En el siguiente código, se muestra cómo crear un conjunto de datos de imágenes mediante la importación de un archivo de fuente de datos CSV y un archivo de esquema YAML. El archivo de esquema que uses dependerá de si tu conjunto de datos de imágenes se usa para la clasificación con etiqueta única, la clasificación con etiquetas múltiples o la detección de objetos.
my_dataset = aiplatform.ImageDataset.create(
display_name="my-image-dataset",
gcs_source=['gs://path/to/my/image-dataset.csv'],
import_schema_uri=['gs://path/to/my/schema.yaml']
)
TextDataset
Usa esta clase para trabajar con un conjunto de datos de texto administrado. Para crear un conjunto de datos de texto, necesitas una fuente de datos en formato CSV y un esquema en formato YAML. Un esquema es opcional para un modelo personalizado. Se accede al archivo CSV y al esquema en los buckets de Cloud Storage.
Usa datos de texto para los siguientes objetivos:
- Clasificación. Si deseas obtener más información, consulta Prepara datos de entrenamiento de texto para la clasificación.
- Extracción de entidades. Si deseas obtener más información, consulta Prepara datos de entrenamiento de texto para la extracción de entidades.
- Análisis de opiniones. Si deseas obtener más información, consulta Prepara datos de entrenamiento de texto para el análisis de opiniones.
En el siguiente código, se muestra cómo crear un conjunto de datos de texto mediante la importación de un archivo de fuente de datos CSV y un archivo de esquema YAML. El archivo de esquema que uses dependerá de si tu conjunto de datos de texto se usa para la clasificación, la extracción de entidades o el análisis de opiniones.
my_dataset = aiplatform.TextDataset.create(
display_name="my-image-dataset",
gcs_source=['gs://path/to/my/text-dataset.csv'],
import_schema_uri=['gs://path/to/my/schema.yaml']
)
VideoDataset
Usa esta clase para trabajar con un conjunto de datos de video administrado. Para crear un conjunto de datos de video, necesitas un archivo de fuente de datos CSV y un esquema en formato YAML. Se accede al archivo CSV y al esquema en los buckets de Cloud Storage.
Usa los datos de video para los siguientes objetivos:
- Clasificación. Para obtener más información, consulta Archivos de esquema de clasificación.
- Reconocimiento de acciones. Para obtener más información, consulta Archivos de esquema de reconocimiento de acciones.
- Seguimiento de objetos. Para obtener más información, consulta Archivos de esquema del seguimiento de objetos.
En el siguiente código, se muestra cómo crear un conjunto de datos para entrenar un modelo de clasificación de videos mediante la importación de un archivo de fuente de datos CSV. El archivo de esquema que uses dependerá de si usas tu conjunto de datos de video para la clasificación de acciones, el reconocimiento o el seguimiento de objetos.
my_dataset = aiplatform.VideoDataset.create(
gcs_source=['gs://path/to/my/dataset.csv'],
import_schema_uri=['gs://aip.schema.dataset.ioformat.video.classification.yaml']
)
Clases de datos de Vertex AI Feature Store
Vertex AI Feature Store es un servicio administrado que se usa para almacenar, entregar, administrar y compartir atributos de AA a gran escala.
Vertex AI Feature Store usa un modelo de datos de series temporales compuesto por tres clases que mantienen los atributos a medida que cambian con el tiempo. Las tres clases están organizadas en el siguiente orden jerárquico:
Para obtener más información sobre el modelo de datos de Vertex AI Feature Store, consulta Modelo de datos y recursos. Para obtener información sobre los requisitos de fuentes de datos de Vertex AI Feature Store, consulta Requisitos de datos de origen.
Las siguientes clases se usan con los datos de Vertex AI Feature Store:
Featurestore
El recurso de almacén de atributos, representado por la clase Featurestore
, es la clase de nivel superior en la jerarquía de modelos de datos de Vertex AI Feature Store.
El recurso del siguiente nivel en el modelo de datos es el tipo de entidad, que es una colección de los atributos relacionados de manera semántica que creas. Los siguientes son algunos de los métodos Featurestore
que funcionan con los tipos de entidades:
Cree un tipo de entidad
Usa el método Featurestore
.create_entity_type
con un entity_type_id
para crear un recurso de tipo de entidad. Un recurso de tipo de entidad está representado por la clase EntityType
. El entity_type_id
es alfanumérico y debe ser único en un almacén de atributos. El siguiente es un ejemplo de cómo puedes crear un tipo de entidad:
entity_type = aiplatform.featurestore.create_entity_type(
entity_type_id=my_entity_type_name, description=my_entity_type_description
)
Entrega tipos de entidad
Usa uno de los tres métodos Featurestore
para entregar elementos de datos de entidad:
batch_serve_to_bq
entrega datos a una tabla de BigQuery.batch_serve_to_df
entrega datos a unDataFrame
de Pandas.batch_serve_to_gcs
entrega datos a un archivo CSV o a un archivoTFRecord
de TensorFlow.
EntityType
La clase EntityType
representa un recurso de tipo de entidad, que es una colección de atributos relacionados de manera semántica que defines. Por ejemplo, un servicio de música puede tener los tipos de entidades musical_artist
y user
. Puedes usar el método FeatureStore.create_entity_type
o el método EntityType.create
para crear un tipo de entidad. En el siguiente código, se muestra cómo usar EntityType.create
:
entity_type = aiplatform.EntityType.create(
entity_type_id=my_entity_type_name, featurestore_name=featurestore_name
)
Feature
La clase Feature
representa un recurso de atributo que es una propiedad o un atributo medible de un tipo de entidad. Por ejemplo, el tipo de entidad musical_artist
podría tener atributos, como date_of_birth
y last_name
, para realizar un seguimiento de varias propiedades de artistas musicales. Los atributos deben ser únicos para un tipo de entidad, pero no es necesario que sean únicos a nivel global.
Cuando creas un Feature
, debes especificar su tipo de valor (por ejemplo, BOOL_ARRAY
, DOUBLE
, DOUBLE_ARRAY
o STRING
). En el siguiente código, se muestra un ejemplo de cómo crear un atributo:
my_feature = aiplatform.Feature.create(
feature_id='my_feature_id',
value_type='INT64',
entity_type_name='my_entity_type_id',
featurestore_id='my_featurestore_id',
)
¿Qué sigue?
- Obtén más información sobre el SDK de Vertex AI.