Classi di dati

L'SDK Vertex AI include classi che archiviano e leggono i dati utilizzati per addestrare un modello. Ogni classe correlata ai dati rappresenta un set di dati gestito da Gemini Enterprise Agent Platform che contiene dati strutturati, dati non strutturati o dati di Vertex AI Feature Store. Dopo aver creato un set di dati, lo utilizzi per addestrare il modello.

I seguenti argomenti forniscono brevi spiegazioni di ogni classe correlata ai dati nell'SDK Vertex AI. L'argomento per ogni classe include un esempio di codice che mostra come creare un'istanza di quella classe. Dopo aver creato un set di dati, puoi utilizzare il relativo ID per recuperarlo:

dataset = aiplatform.ImageDataset('projects/my-project/location/my-region/datasets/{DATASET_ID}')

Classi di dati strutturati

Le seguenti classi funzionano con i dati strutturati, organizzati in righe e colonne. I dati strutturati vengono spesso utilizzati per archiviare numeri, date, valori e stringhe.

TabularDataset

Utilizza questa classe per lavorare con i set di dati tabulari. Puoi utilizzare un file CSV, BigQuery o un pandas DataFrame per creare un set di dati tabulari. Per ulteriori informazioni sulla paginazione dei dati di BigQuery data, consulta Leggere i dati con l'API BigQuery utilizzando la paginazione. Per ulteriori informazioni sui dati tabulari, consulta Dati tabulari.

Il seguente codice mostra come creare un set di dati tabulari importando un file CSV.

my_dataset = aiplatform.TabularDataset.create(
    display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])

Il seguente codice mostra come creare un set di dati tabulari importando un file CSV in due passaggi distinti.

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 crei un set di dati tabulari con un pandas DataFrame, devi utilizzare una tabella BigQuery per preparare i dati per Gemini Enterprise Agent Platform:

my_dataset = aiplatform.TabularDataset.create_from_dataframe(
    df_source=my_pandas_dataframe,
    staging_path=f"bq://{bq_dataset_id}.table-unique"
)

TimeSeriesDataset

Utilizza questa classe per lavorare con i set di dati di serie temporali. Una serie temporale è un set di dati che contiene dati registrati a intervalli di tempo diversi. Il set di dati include l'ora e almeno una variabile che dipende dal tempo. Utilizza un set di dati di serie temporali per le previsioni. Per ulteriori informazioni, consulta Panoramica delle previsioni.

Puoi creare un set di dati di serie temporali gestito da file CSV in un bucket Cloud Storage o da una tabella BigQuery.

Il seguente codice mostra come creare un TimeSeriesDataset importando un file di origine dati CSV che contiene il set di dati di serie temporali:

my_dataset = aiplatform.TimeSeriesDataset.create(
    display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])

Il seguente codice mostra come creare un TimeSeriesDataset importando un file di tabella BigQuery che contiene il set di dati di serie temporali:

my_dataset = aiplatform.TimeSeriesDataset.create(
    display_name="my-dataset", bq_source=['bq://path/to/my/bigquerydataset.train'])

Classi di dati non strutturati

Le seguenti classi funzionano con i dati non strutturati, che non possono essere archiviati in un database relazionale tradizionale. Vengono spesso archiviati come file audio, di testo, video o come database NoSQL.

ImageDataset

Utilizza questa classe per lavorare con un set di dati di immagini gestito. Per creare un set di dati di immagini gestito, devi disporre di un file di origine dati in formato CSV e di un file di schema in formato YAML. Uno schema è facoltativo per un modello personalizzato. Il file CSV e lo schema sono accessibili nei bucket Cloud Storage.

Utilizza i dati delle immagini per i seguenti obiettivi:

Il seguente codice mostra come creare un set di dati di immagini importando un file di origine dati CSV e un file di schema YAML. Il file di schema che utilizzi dipende dal fatto che il set di dati di immagini venga utilizzato per la classificazione con etichetta singola, la classificazione con più etichette o il rilevamento di oggetti.

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']
    )

Classi di dati di Vertex AI Feature Store

Vertex AI Feature Store è un servizio gestito utilizzato per archiviare, gestire, gestire e condividere caratteristiche di ML su larga scala.

Vertex AI Feature Store utilizza un modello dei dati di serie temporali composto da tre classi che mantengono le caratteristiche man mano che cambiano nel tempo. Le tre classi sono organizzate nel seguente ordine gerarchico:

Gerarchia delle classi di Vertex AI Feature Store

Per ulteriori informazioni sul modello dei dati di Vertex AI Feature Store, consulta Modello di dati e risorse. Per scoprire di più sui requisiti dell'origine dati di Vertex AI Feature Store, consulta Requisiti dei dati di origine.

Le seguenti classi vengono utilizzate con i dati di Vertex AI Feature Store:

Featurestore

La risorsa featurestore, rappresentata dalla Featurestore classe, è la classe di primo livello nella gerarchia del modello dei dati di Vertex AI Feature Store. La risorsa di livello successivo nel modello dei dati è il tipo di entità, ovvero una raccolta di caratteristiche semanticamente correlate che crei. Di seguito sono riportati alcuni dei Featurestore metodi che funzionano con i tipi di entità:

Creare un tipo di entità

Utilizza il Featurestore.create_entity_type con un entity_type_id per creare una risorsa di tipo di entità. Una risorsa di tipo di entità è rappresentata dalla classe EntityType. entity_type_id è alfanumerico e deve essere univoco in un featurestore. Di seguito è riportato un esempio di come creare un tipo di entità:

entity_type = aiplatform.featurestore.create_entity_type(
        entity_type_id=my_entity_type_name, description=my_entity_type_description
        )

Gestire i tipi di entità

Utilizza uno dei tre Featurestore metodi per gestire gli elementi di dati delle entità:

EntityType

La classe EntityType rappresenta una risorsa di tipo di entità, ovvero una raccolta di caratteristiche semanticamente correlate che definisci. Ad esempio, un servizio musicale potrebbe avere i tipi di entità musical_artist e user. Puoi utilizzare il FeatureStore.create_entity_type metodo o il EntityType.create metodo per creare un tipo di entità. Il seguente codice mostra come utilizzare EntityType.create:

entity_type = aiplatform.EntityType.create(
        entity_type_id=my_entity_type_name, featurestore_name=featurestore_name
    )

Feature

La classe Feature rappresenta una risorsa di caratteristiche, ovvero una proprietà o un attributo misurabile di un tipo di entità. Ad esempio, il tipo di entità musical_artist potrebbe avere caratteristiche come date_of_birth e last_name per tenere traccia di varie proprietà degli artisti musicali. Le caratteristiche devono essere univoche per un tipo di entità, ma non devono essere univoche a livello globale.

Quando crei una Feature, devi specificarne il tipo di valore (ad esempio, BOOL_ARRAY, DOUBLE, DOUBLE_ARRAY, o STRING). Il seguente codice mostra un esempio di come creare una caratteristica:

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',
)

Passaggi successivi