L'SDK Vertex AI include classi che memorizzano e leggono i dati utilizzati per addestrare 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.
Gli argomenti seguenti forniscono brevi spiegazioni di ogni classe correlata ai dati nell'SDK Vertex AI. L'argomento di ogni classe include un esempio di codice che mostra come creare un'istanza della 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 memorizzare numeri, date, valori e 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 sulla paginazione dei dati di BigQuery, consulta Leggere i dati con l'API BigQuery utilizzando la paginazione.
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 codice seguente 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 dataframe pandas
DataFrame
,
devi utilizzare una tabella BigQuery per eseguire lo staging dei 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, consulta la 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 codice seguente mostra come creare un TimeSeriesDataset
importando un
file dell'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 codice seguente 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 vengono 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 gestite, devi avere un file dell'origine dati in formato CSV e un file dello schema in formato YAML. Uno schema è facoltativo per un modello personalizzato. Il file CSV e lo schema vengono acceduti nei bucket Cloud Storage.
Utilizzare i dati delle immagini per i seguenti scopi:
- Classificazione con etichetta singola. Per saperne di più, consulta Preparare i dati di addestramento delle immagini per la classificazione a singola etichetta.
- Classificazione con più etichette. Per saperne di più, consulta Preparare i dati di addestramento delle immagini per la classificazione multietichetta.
- Rilevamento di oggetti. Per saperne di più, consulta Preparare i dati di addestramento delle immagini per il rilevamento di oggetti.
Il codice seguente mostra come creare un set di dati di immagini importando un file dell'origine dati CSV e un file dello 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. Il file CSV e lo schema vengono acceduti nei bucket Cloud Storage.
Utilizza i dati di testo per i seguenti scopi:
- Classificazione. Per saperne di più, consulta Preparare i dati di addestramento del testo per la classificazione.
- Estrazione di entità. Per saperne di più, consulta Preparare i dati di addestramento del testo per l'estrazione di entità.
- Analisi del sentiment. Per saperne di più, consulta Preparare i dati di addestramento del testo per l'analisi del sentiment.
Il codice seguente mostra come creare un set di dati di testo importando un file di origine dati CSV 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, è necessario un file dell'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:
- Classificazione. Per ulteriori informazioni, consulta la sezione File dello schema di classificazione.
- Riconoscimento delle azioni. Per ulteriori informazioni, consulta File dello schema di riconoscimento delle azioni.
- Monitoraggio degli oggetti. Per ulteriori informazioni, consulta File dello schema di monitoraggio degli oggetti.
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 dei 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:
Per ulteriori informazioni sul modello dei dati di Vertex AI Feature Store, consulta Modello di dati e risorse. Per scoprire di più sui requisiti delle origini 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 classe Featurestore
, è la classe di primo livello nella gerarchia del modello dei dati di Vertex AI Feature Store.
La risorsa di livello superiore nel modello dei 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
metodo 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
è 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
)
Pubblicare tipi di entità
Utilizza uno dei tre metodi Featurestore
per pubblicare elementi di dati delle entità:
batch_serve_to_bq
pubblica i dati in una tabella BigQuery.batch_serve_to_df
invia i dati a unDataFrame
Pandas.batch_serve_to_gcs
invia i dati a un file CSV o a un fileTFRecord
di TensorFlow.
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
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 caratteristica che è 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 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 un Feature
, devi specificarne il tipo di valore (ad es. BOOL_ARRAY
, DOUBLE
, DOUBLE_ARRAY
o STRING
). Il codice seguente mostra un esempio di come creare un elemento:
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
- Scopri di più sull'SDK Vertex AI.