O SDK do Vertex AI inclui classes que armazenam e leem dados usados para preparar um modelo. Cada classe relacionada com dados representa um conjunto de dados gerido do Vertex AI que tem dados estruturados, dados não estruturados ou dados do Vertex AI Feature Store. Depois de criar um conjunto de dados, usa-o para preparar o modelo.
Os tópicos seguintes fornecem breves explicações de cada classe relacionada com dados no SDK Vertex AI. O tópico de cada classe inclui um exemplo de código que mostra como criar uma instância dessa classe. Depois de criar um conjunto de dados, pode usar o respetivo ID para o obter:
dataset = aiplatform.ImageDataset('projects/my-project/location/my-region/datasets/{DATASET_ID}')
Classes de dados estruturados
As seguintes classes funcionam com dados estruturados, que estão organizados em linhas e colunas. Os dados estruturados são frequentemente usados para armazenar números, datas, valores e strings.
TabularDataset
Use esta classe para trabalhar com conjuntos de dados tabulares. Pode usar um ficheiro CSV, o BigQuery ou o pandas
DataFrame
para criar um conjunto de dados tabular. Para mais informações sobre a paginação de dados do BigQuery, consulte o artigo Leia dados com a API BigQuery através da paginação.
Para mais informações sobre dados tabulares, consulte o artigo
Dados tabulares.
O código seguinte mostra como criar um conjunto de dados tabulares importando um ficheiro CSV.
my_dataset = aiplatform.TabularDataset.create(
display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])
O código seguinte mostra como criar um conjunto de dados tabulares importando um ficheiro CSV em dois passos 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
)
Se criar um conjunto de dados tabular com o pandas
DataFrame
,
tem de usar uma tabela do BigQuery para preparar os dados para o Vertex AI:
my_dataset = aiplatform.TabularDataset.create_from_dataframe(
df_source=my_pandas_dataframe,
staging_path=f"bq://{bq_dataset_id}.table-unique"
)
TimeSeriesDataset
Use esta classe para trabalhar com conjuntos de dados de séries temporais. Uma série cronológica é um conjunto de dados que contém dados registados em diferentes intervalos de tempo. O conjunto de dados inclui a hora e, pelo menos, uma variável que depende da hora. Usa um conjunto de dados de séries temporais para previsões. Para mais informações, consulte o artigo Vista geral da previsão.
Pode criar um conjunto de dados de séries cronológicas gerido a partir de ficheiros CSV num contentor do Cloud Storage ou a partir de uma tabela do BigQuery.
O código seguinte mostra como criar um TimeSeriesDataset
importando um ficheiro de origem de dados CSV que tenha o conjunto de dados de séries cronológicas:
my_dataset = aiplatform.TimeSeriesDataset.create(
display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])
O código seguinte mostra como criar um TimeSeriesDataset
importando um ficheiro de tabela do BigQuery que tenha o conjunto de dados de séries cronológicas:
my_dataset = aiplatform.TimeSeriesDataset.create(
display_name="my-dataset", bq_source=['bq://path/to/my/bigquerydataset.train'])
Classes de dados não estruturados
As seguintes classes funcionam com dados não estruturados, que não podem ser armazenados numa base de dados relacional tradicional. Geralmente, é armazenado como ficheiros de áudio, texto ou vídeo, ou como uma base de dados NoSQL.
ImageDataset
Use esta classe para trabalhar com um conjunto de dados de imagens gerido. Para criar um conjunto de dados de imagens gerido, precisa de um ficheiro de origem de dados no formato CSV e um ficheiro de esquema no formato YAML. Um esquema é opcional para um modelo personalizado. O ficheiro CSV e o esquema são acedidos em contentores do Cloud Storage.
Use dados de imagens para os seguintes objetivos:
- Classificação de etiqueta única. Para mais informações, consulte o artigo Prepare dados de preparação de imagens para a classificação de etiqueta única.
- Classificação com várias etiquetas. Para mais informações, consulte o artigo Prepare dados de preparação de imagens para a classificação com várias etiquetas.
- Deteção de objetos. Para mais informações, consulte o artigo Prepare dados de preparação de imagens para a deteção de objetos.
O código seguinte mostra como criar um conjunto de dados de imagens importando um ficheiro de origem de dados CSV e um ficheiro de esquema YAML. O ficheiro de esquema que usa depende de o conjunto de dados de imagens ser usado para classificação de etiqueta única, classificação de várias etiquetas ou deteção 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']
)
Classes de dados do Vertex AI Feature Store
O Vertex AI Feature Store é um serviço gerido usado para armazenar, fornecer, gerir e partilhar funcionalidades de ML em grande escala.
O Vertex AI Feature Store usa um modelo de dados de séries cronológicas composto por três classes que mantêm as caraterísticas à medida que mudam ao longo do tempo. As três classes estão organizadas na seguinte ordem hierárquica:
Para mais informações sobre o modelo de dados do Vertex AI Feature Store, consulte Modelo de dados e recursos. Para saber mais sobre os requisitos da origem de dados do Vertex AI Feature Store, consulte os requisitos dos dados de origem.
As seguintes classes são usadas com dados do Vertex AI Feature Store:
Featurestore
O recurso featurestore, representado pela classe Featurestore
, é a classe de nível superior na hierarquia do modelo de dados do Vertex AI Feature Store.
O recurso de nível seguinte no modelo de dados é o tipo de entidade, que é uma coleção de funcionalidades relacionadas semanticamente que cria. Seguem-se alguns dos métodos de
Featurestore
que funcionam com tipos de entidades:
Crie um tipo de entidade
Use o
Featurestore
.create_entity_type
com um entity_type_id
para criar um recurso do tipo de entidade. Um recurso do tipo de entidade é representado pela classe EntityType
. O entity_type_id
é alfanumérico e tem de ser exclusivo num Feature Store. Segue-se um exemplo
de como pode criar um tipo de entidade:
entity_type = aiplatform.featurestore.create_entity_type(
entity_type_id=my_entity_type_name, description=my_entity_type_description
)
Tipos de entidades de publicação
Use um de três métodos Featurestore
para publicar itens de dados de entidades:
batch_serve_to_bq
disponibiliza dados a uma tabela do BigQuery.batch_serve_to_df
fornece dados a um pandasDataFrame
.O
batch_serve_to_gcs
disponibiliza dados a um ficheiro CSV ou a um ficheiro do TensorFlowTFRecord
.
EntityType
A classe EntityType
representa um recurso do tipo de entidade, que é uma coleção de funcionalidades relacionadas semanticamente que define. Por exemplo, um serviço de música pode ter os tipos de entidades musical_artist
e user
. Pode usar o método FeatureStore.create_entity_type
ou o método EntityType.create
para criar um tipo de entidade. O código seguinte mostra como usar
EntityType.create
:
entity_type = aiplatform.EntityType.create(
entity_type_id=my_entity_type_name, featurestore_name=featurestore_name
)
Feature
A classe Feature
representa um recurso de funcionalidade que é uma propriedade ou um atributo mensurável de um tipo de entidade. Por exemplo, o tipo de entidade musical_artist
pode ter funcionalidades, como date_of_birth
e last_name
, para acompanhar várias propriedades de artistas musicais. As funcionalidades têm de ser
exclusivas de um tipo de entidade, mas não têm de ser exclusivas a nível global.
Quando cria um Feature
, tem de especificar o respetivo tipo de valor (por exemplo, BOOL_ARRAY
, DOUBLE
, DOUBLE_ARRAY
ou STRING
). O código seguinte mostra um exemplo de como criar uma funcionalidade:
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',
)
O que se segue?
- Saiba mais sobre o SDK Vertex AI.