O SDK da Vertex AI inclui classes que armazenam e leem dados usados para treinar um modelo. Cada classe relacionada a dados representa um conjunto de dados gerenciado da Vertex AI que tem dados estruturados, dados não estruturados ou dados da Feature Store da Vertex AI. Depois de criar um conjunto de dados, você o usará para treinar seu modelo.
Os tópicos a seguir fornecem explicações resumidas de cada classe relacionada a dados no SDK da 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, use o ID para recuperá-lo:
dataset = aiplatform.ImageDataset('projects/my-project/location/my-region/datasets/{DATASET_ID}')
Classes de dados estruturados
As classes a seguir funcionam com dados estruturados, organizados em linhas e colunas. Geralmente, os dados estruturados são usados para armazenar números, datas, valores e strings.
TabularDataset
Use essa classe para trabalhar com conjuntos de dados tabulares. É possível usar um arquivo CSV ou um
DataFrame
do pandas ou BigQuery para criar um conjunto de dados tabular. Para mais informações sobre paginação por meio de dados do BigQuery, consulte Ler dados com a API BigQuery usando paginação.
Para mais informações sobre dados tabulares, consulte Dados tabulares.
O código a seguir mostra como criar um conjunto de dados tabular ao importar um arquivo CSV.
my_dataset = aiplatform.TabularDataset.create(
display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])
O código a seguir mostra como criar um conjunto de dados tabular ao importar um arquivo CSV em duas etapas distintas.
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 você criar um conjunto de dados tabular com um
DataFrame
do pandas,
será necessário usar uma tabela do BigQuery para organizar os dados para a 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 essa classe para trabalhar com conjuntos de dados de séries temporais. Uma série temporal é um conjunto de dados que contém dados registrados em diferentes intervalos de tempo. O conjunto de dados inclui tempo e pelo menos uma variável que depende do tempo. Você usa um conjunto de dados de série temporal para previsões. Para mais informações, consulte Visão geral da previsão.
É possível criar um conjunto de dados gerenciado de série temporal a partir de arquivos CSV em um bucket do Cloud Storage ou em uma tabela do BigQuery.
O código a seguir mostra como criar um TimeSeriesDataset
importando um arquivo de fonte de dados CSV que tenha o conjunto de dados de série temporal:
my_dataset = aiplatform.TimeSeriesDataset.create(
display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])
O código a seguir mostra como criar uma TimeSeriesDataset
com um arquivo de tabela do BigQuery que tenha o conjunto de dados da série temporal:
my_dataset = aiplatform.TimeSeriesDataset.create(
display_name="my-dataset", bq_source=['bq://path/to/my/bigquerydataset.train'])
Classes de dados não estruturados
As classes a seguir funcionam com dados não estruturados, que não podem ser armazenados em um banco de dados relacional tradicional. Geralmente, ele é armazenado como áudio, texto, arquivos de vídeo ou como um banco de dados NoSQL.
ImageDataset
Use essa classe para trabalhar com um conjunto de dados de imagens gerenciadas. Para criar um conjunto de dados de imagens gerenciadas, você precisa de um arquivo de fonte de dados no formato CSV e de um arquivo de esquema no formato YAML. Um esquema é opcional para um modelo personalizado. O arquivo CSV e o esquema são acessados em buckets do Cloud Storage.
Use dados de imagem para os seguintes objetivos:
- Classificação de rótulo único Para mais informações, consulte Preparar dados de treinamento de imagem para classificação de rótulo único.
- Classificação de vários rótulos Para mais informações, consulte Preparar dados de treinamento de imagem para classificação de vários rótulos.
- Detecção de objetos. Para mais informações, consulte Preparar dados de treinamento de imagem para detecção de objetos.
O código a seguir mostra como criar um conjunto de dados de imagens importando um arquivo de fonte de dados CSV e um arquivo de esquema YAML. O arquivo de esquema usado depende do conjunto de dados de imagem ser usado para classificação de rótulo único, classificação de vários rótulos ou detecçã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']
)
TextDataset
Use essa classe para trabalhar com um conjunto de dados gerenciado de texto. Para criar um conjunto de dados de texto, você precisa de uma fonte de dados no formato CSV e um esquema no formato YAML. Um esquema é opcional para um modelo personalizado. O arquivo CSV e o esquema são acessados nos buckets do Cloud Storage.
Use dados de texto para os seguintes objetivos:
- Classificação. Para mais informações, consulte Preparar dados de treinamento de texto para classificação.
- Extração de entidade. Para mais informações, consulte Preparar dados de treinamento de texto para extração de entidade.
- Análise de sentimento. Para mais informações, consulte Preparar dados de treinamento de texto para análise de sentimento.
O código a seguir mostra como criar um conjunto de dados de texto importando um arquivo de fonte de dados CSV e um arquivo de esquema YAML. O arquivo de esquema usado depende do conjunto de dados de texto ser usado para classificação, extração de entidade ou análise de sentimento.
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
Use essa classe para trabalhar com um conjunto de dados de vídeos gerenciado. Para criar um conjunto de dados de vídeo, você precisa de um arquivo de fonte de dados CSV e um esquema no formato YAML. O arquivo CSV e o esquema são acessados nos buckets do Cloud Storage.
Use dados de vídeo para os seguintes objetivos:
- Classificação. Para mais informações, consulte Arquivos de esquema de classificação.
- Reconhecimento de ação. Para mais informações, consulte Arquivos de esquema de reconhecimento de ações.
- Rastreamento de objetos. Para mais informações, consulte Arquivos de esquema de rastreamento de objetos.
O código a seguir mostra como criar um conjunto de dados para treinar um modelo de classificação de vídeo importando um arquivo de fonte de dados CSV. O arquivo de esquema escolhido depende do conjunto de dados de vídeo para classificação de ações, reconhecimento ou rastreamento 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']
)
Classes de dados do Feature Store da Vertex AI
O Feature Store da Vertex AI é um serviço gerenciado usado para armazenar, exibir, gerenciar e compartilhar atributos de ML em escala.
O Feature Store da Vertex AI usa um modelo de dados de série temporal composto por três classes que mantêm atributos à medida que mudam ao longo do tempo. As três classes são organizadas na seguinte ordem hierárquica:
Para mais informações sobre o modelo de dados do Feature Store da Vertex AI, consulte Modelo de dados e recursos. Para saber mais sobre os requisitos de fonte de dados do Feature Store da Vertex AI, consulte Requisitos de dados de origem.
As classes a seguir são usadas com dados do Feature Store da Vertex AI:
Featurestore
O recurso featurestore, representado pela classe Featurestore
, é a
classe de nível superior na hierarquia de modelos de dados do Feature Store da Vertex AI.
O próximo recurso de nível no modelo de dados é o tipo de entidade, que é uma coleção de atributos semanticamente relacionados que você cria. Veja a seguir alguns dos métodos
Featurestore
que funcionam com tipos de entidade:
Criar um tipo de entidade
Use a
Featurestore
.Método create_entity_type
com um entity_type_id
para criar um recurso de tipo de entidade. Um recurso
de tipo de entidade é representado pela classe EntityType
. O entity_type_id
é
alfanumérico e precisa ser exclusivo em um featurestore. Veja um exemplo
de como criar um tipo de entidade:
entity_type = aiplatform.featurestore.create_entity_type(
entity_type_id=my_entity_type_name, description=my_entity_type_description
)
Exibir tipos de entidade
Use um dos três métodos Featurestore
para exibir
itens de dados da entidade:
batch_serve_to_bq
exibe dados para uma tabela do BigQuery.batch_serve_to_df
exibe dados para um pandasDataFrame
.batch_serve_to_gcs
exibe dados para um arquivo CSV ou um arquivoTFRecord
do TensorFlow.
EntityType
A classe EntityType
representa um recurso de tipo
de entidade, que é uma coleção de atributos semanticamente relacionados que você
define. Por exemplo, um serviço de música pode ter os tipos de entidade
musical_artist
e user
. Use o método
FeatureStore.create_entity_type
ou
EntityType.create
para criar um tipo de entidade. O código a seguir 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 recurso que
é uma propriedade mensurável ou atributo de um tipo de entidade. Por exemplo, o
tipo de entidade musical_artist
pode ter recursos, como date_of_birth
e
last_name
, para rastrear várias propriedades de artistas musicais. Os recursos precisam ser
exclusivos para um tipo de entidade, mas não precisam ser globalmente exclusivos.
Ao criar um Feature
, você precisa especificar o tipo
de valor (por exemplo, BOOL_ARRAY
, DOUBLE
, DOUBLE_ARRAY
ou STRING
) (em inglês). O
código abaixo mostra um exemplo de como criar um 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',
)
A seguir
- Saiba mais sobre o SDK Vertex AI.