Classi di dati

L'SDK Vertex AI include classi che archiviano e leggono i dati utilizzati per l'addestramento un modello. Ogni classe relativa ai dati rappresenta un set di dati gestito da Vertex AI con dati strutturati, non strutturati o di Vertex AI Feature Store. Dopo aver creato un set di dati, puoi utilizzarlo per addestrare il modello.

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

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

Classi di dati strutturati

I seguenti corsi utilizzano dati strutturati, organizzati in righe e colonne. I dati strutturati vengono spesso usati per archiviare numeri, date, valori stringhe.

TabularDataset

Utilizza questa classe per lavorare con set di dati tabulari. Puoi utilizzare un file CSV, BigQuery o un dataframe pandas DataFrame per creare un set di dati tabulare. Per ulteriori informazioni sul paging tramite BigQuery vedi i dati Leggere i dati con l'API BigQuery utilizzando l'impaginazione. Per saperne di più sui dati tabulari, consulta Dati tabulari.

Il seguente codice mostra come creare un set di dati tabulare 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 tabulare 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 tabulare con un file DataFrame, devi utilizzare una tabella BigQuery per preparare i dati per Vertex AI:

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 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 il tempo e almeno una variabile dipendente dal tempo. Utilizzi un set di dati di serie temporali per le previsioni. Per ulteriori informazioni, vedi Panoramica della previsione.

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

Il seguente codice mostra come creare un TimeSeriesDataset importando un Il file di origine dati CSV contenente il set di dati delle 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 della tabella BigQuery contenente il set di dati delle serie temporali:

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

Classi di dati non strutturati

I seguenti tipi di dati non strutturati non possono essere archiviati in un database relazionale tradizionale. Spesso viene archiviata sotto forma di 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'immagine gestita è necessario un file di origine dati in formato CSV e un file di schema in YAML formato. Lo schema è facoltativo per i modelli personalizzati. Il file CSV e lo schema vengono acceduti nei bucket Cloud Storage.

Utilizza i dati immagine per i seguenti obiettivi:

Il codice seguente mostra come creare un set di dati immagine importando i dati CSV di origine e un file di schema YAML. Il file dello schema che utilizzi dipende dal fatto che il set di dati di immagini venga utilizzato per la classificazione con una sola etichetta, 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']
    )

TextDataset

Utilizza questa classe per lavorare con un set di dati di testo gestito. Per creare un set di dati di testo, è necessaria un'origine dati in formato CSV e uno schema in formato YAML. Uno schema è facoltativo per un modello personalizzato. Accedi al file CSV e allo schema nei bucket Cloud Storage.

Utilizza i dati di testo per i seguenti scopi:

Il seguente codice mostra come creare un set di dati di testo importando un file CSV un file di origine dati e un file di schema YAML. Il file dello schema che utilizzi dipende dal fatto che il set di dati di testo venga utilizzato per la classificazione, l'estrazione di entità o l'analisi del sentiment.

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

Utilizza questa classe per lavorare con un set di dati video gestito. Per creare un set di dati video, ti servono un file di origine dati CSV e uno schema in formato YAML. Il file CSV e lo schema sono accessibili nei bucket Cloud Storage.

Utilizza i dati video per i seguenti scopi:

Il codice seguente mostra come creare un set di dati per addestrare un modello di classificazione dei video importando un file dell'origine dati CSV. Il file dello schema che utilizzi dipende dal fatto che tu utilizzi il set di dati video per la classificazione, il riconoscimento o il monitoraggio degli oggetti.

my_dataset = aiplatform.VideoDataset.create(
    gcs_source=['gs://path/to/my/dataset.csv'],
    import_schema_uri=['gs://aip.schema.dataset.ioformat.video.classification.yaml']
)

Classi di dati di Vertex AI Feature Store

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

Vertex AI Feature Store utilizza un modello di dati a serie temporali composto da tre classi che mantengono le funzionalità 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 di dati di Vertex AI Feature Store, consulta Modello di dati e risorse. Per saperne di più Requisiti dell'origine dati Vertex AI Feature Store; consulta Dati di origine requisiti.

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

Featurestore

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

Creare un tipo di entità

Utilizza Featurestore.create_entity_type con un entity_type_id per creare una risorsa di tipo entità. Un'entità risorsa di tipo è rappresentata dalla classe EntityType. entity_type_id è alfabetico numerico e deve essere univoco in un archivio di funzionalità. 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
        )

Gestisci tipi di entità

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

EntityType

La classe EntityType rappresenta una risorsa di tipo di entità, ovvero una raccolta di funzionalità semanticamente correlate che hai definito. Ad esempio, un servizio di musica potrebbe avere i tipi di entitàmusical_artist e user. Puoi utilizzare il metodo FeatureStore.create_entity_type o il metodo EntityType.create 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 funzionalità che è una proprietà o un attributo misurabile di un tipo di entità. Ad esempio, Il tipo di entità musical_artist può avere funzionalità, ad esempio date_of_birth e last_name, per monitorare varie proprietà degli artisti musicali. Le funzionalità devono essere univoche per un tipo di entità, ma non devono essere univoche a livello globale.

Quando crei una Feature, devi specificarne il valore (ad esempio BOOL_ARRAY, DOUBLE, DOUBLE_ARRAY o STRING). La 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