L'SDK Vertex AI include classi che archiviano e leggono i dati utilizzati per addestrare un modello. Ogni classe relativa ai dati rappresenta un set di dati gestito di Vertex AI con dati strutturati, non strutturati o 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 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 suo 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 panda
DataFrame
per creare un set di dati tabulare. Per ulteriori informazioni sul paging tramite i dati BigQuery, consulta Leggere i dati con l'API BigQuery utilizzando l'impaginazione.
Per ulteriori informazioni sui dati tabulari, consulta
Dati tabulari.
Il codice seguente 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 panda
DataFrame
,
devi utilizzare una tabella BigQuery per archiviare in un'area intermedia 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 i set di dati delle serie temporali. Una serie temporale è un set di dati contenente dati registrati a diversi intervalli di tempo. Il set di dati include il tempo e almeno una variabile dipendente dal tempo. Per effettuare previsioni sulle serie temporali si usa un set di dati. Per ulteriori informazioni, consulta la sezione Panoramica della previsione.
Puoi creare un set di dati delle serie temporali gestite dai file CSV in un bucket Cloud Storage o da una tabella BigQuery.
Il codice seguente mostra come creare un TimeSeriesDataset
importando un file di origine dati CSV con 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 tabella BigQuery con 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
Le seguenti classi funzionano con dati non strutturati, che non possono essere archiviati in un database relazionale tradizionale. Spesso viene archiviato come file audio, testo, video o come database NoSQL.
ImageDataset
Utilizza questa classe per lavorare con un set di dati immagine gestito. Per creare un set di dati immagine gestito, sono necessari un file di origine dati in formato CSV e un file di schema in formato YAML. Lo schema è facoltativo per i modelli personalizzati. È possibile accedere al file CSV e allo schema nei bucket Cloud Storage.
Utilizza i dati di immagine per i seguenti obiettivi:
- Classificazione con etichetta singola. Per maggiori informazioni, consulta Preparare i dati di addestramento delle immagini per la classificazione con etichetta singola.
- Classificazione con più etichette. Per maggiori informazioni, consulta Preparare i dati di addestramento delle immagini per la classificazione con più etichette.
- Rilevamento di oggetti. Per maggiori informazioni, consulta Preparare i dati di addestramento delle immagini per il rilevamento degli oggetti.
Il codice seguente mostra come creare un set di dati immagine importando un file di origine dati CSV e un file di schema YAML. Il file di schema da utilizzare dipende dall'uso o meno del set di dati immagine per la classificazione con etichetta singola, per la classificazione con più etichette o per 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, devi avere un'origine dati in formato CSV e uno schema in formato YAML. Uno schema è facoltativo per un modello personalizzato. Puoi accedere al file CSV e allo schema nei bucket Cloud Storage.
Utilizza i dati di testo per i seguenti obiettivi:
- Classificazione. Per maggiori informazioni, consulta Preparare i dati di addestramento del testo per la classificazione.
- Estrazione di entità. Per maggiori informazioni, consulta Preparare i dati di addestramento del testo per l'estrazione delle entità.
- Analisi del sentiment. Per maggiori informazioni, 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 di schema da utilizzare dipende dall'utilizzo o meno del set di dati di testo per la classificazione, l'estrazione delle 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, devi avere un file di origine dati CSV e uno schema in formato YAML. Puoi accedere al file CSV e allo schema nei bucket Cloud Storage.
Utilizza i dati dei video per i seguenti obiettivi:
- Classificazione. Per ulteriori informazioni, consulta File di schema di classificazione.
- Riconoscimento dell'azione. Per maggiori informazioni, consulta File di schema di riconoscimento delle azioni.
- Rilevamento degli oggetti. Per ulteriori informazioni, consulta la sezione File di schema di monitoraggio degli oggetti.
Il seguente codice mostra come creare un set di dati per addestrare un modello di classificazione video importando un file di origine dati CSV. Il file di schema da utilizzare dipende dall'utilizzo o meno del set di dati video per la classificazione delle azioni, 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, gestire, gestire e condividere caratteristiche ML su larga scala.
Vertex AI Feature Store utilizza un modello dei dati serie temporale composto da tre classi che mantengono le caratteristiche in funzione del cambiamento 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 dei dati e risorse. Per informazioni sui requisiti per le origini dati di Vertex AI Feature Store, consulta Requisiti dei dati di origine.
Con i dati di Vertex AI Feature Store vengono utilizzate le seguenti classi:
Featurestore
La risorsa dell'archivio di caratteristiche, rappresentata dalla classe Featurestore
, è la classe di primo livello nella gerarchia dei 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 da te create. Di seguito sono riportati alcuni dei metodi di Featurestore
che funzionano con i tipi di entità:
Crea un tipo di entità
Utilizza il
Featurestore
.create_entity_type
con un entity_type_id
per creare una risorsa di tipo entità. Una risorsa di tipo entità è rappresentata dalla classe EntityType
. entity_type_id
è alfanumerico e deve essere univoco in un archivio di caratteristiche. Di seguito è riportato un esempio di come è possibile creare un tipo di entità:
entity_type = aiplatform.featurestore.create_entity_type(
entity_type_id=my_entity_type_name, description=my_entity_type_description
)
Tipi di entità di gestione
Utilizza uno dei tre metodi Featurestore
per pubblicare gli elementi di dati dell'entità:
batch_serve_to_bq
pubblica i dati in una tabella BigQuery.batch_serve_to_df
mostra i dati a un pandaDataFrame
.batch_serve_to_gcs
pubblica i dati in un file CSV o in un fileTFRecord
TensorFlow.
EntityType
La classe EntityType
rappresenta una risorsa del tipo di entità, ovvero una raccolta di caratteristiche semanticamente correlate da te definite. 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 caratteristica
che è una proprietà o un attributo misurabile di un tipo di entità. Ad esempio, il tipo di entità musical_artist
potrebbe includere funzionalità come date_of_birth
e last_name
per monitorare 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 specificare il relativo tipo di valore (ad esempio BOOL_ARRAY
, DOUBLE
, DOUBLE_ARRAY
o STRING
). Il seguente codice mostra un esempio di come creare una funzionalità:
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.