Das Vertex AI SDK enthält Klassen, die zum Trainieren eines Modells verwendete Daten speichern und lesen. Jede datenbezogene Klasse stellt ein von Vertex AI verwaltetes Dataset mit strukturierten Daten, unstrukturierten Daten oder Vertex AI Feature Store-Daten dar. Nachdem Sie ein Dataset erstellt haben, verwenden Sie es zum Trainieren Ihres Modells.
Die folgenden Themen enthalten kurze Erläuterungen zu jeder datenbezogenen Klasse im Vertex AI SDK. Das Thema für jede Klasse enthält ein Codebeispiel, das zeigt, wie Sie eine Instanz dieser Klasse erstellen. Nachdem Sie ein Dataset erstellt haben, können Sie es anhand seiner ID abrufen:
dataset = aiplatform.ImageDataset('projects/my-project/location/my-region/datasets/{DATASET_ID}')
Klassen strukturierter Daten
Die folgenden Klassen arbeiten mit strukturierten Daten, die in Zeilen und Spalten organisiert sind. Strukturierte Daten werden häufig verwendet, um Zahlen, Datumsangaben, Werte und Strings zu speichern.
TabularDataset
Verwenden Sie diese Klasse, um mit tabellarischen Datasets zu arbeiten. Sie können eine CSV-Datei, BigQuery oder einen Pandas-DataFrame
verwenden, um ein tabellarisches Dataset zu erstellen. Weitere Informationen zum Durchblättern von BigQuery-Daten finden Sie unter Mit der BigQuery API Daten mit Seitenumbruch lesen.
Weitere Informationen zu tabellarischen Daten finden Sie unter Tabellendaten.
Der folgende Code zeigt, wie Sie durch Importieren einer CSV-Datei ein tabellarisches Dataset erstellen.
my_dataset = aiplatform.TabularDataset.create(
display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])
Der folgende Code zeigt, wie Sie ein tabellarisches Dataset erstellen, indem Sie eine CSV-Datei in zwei verschiedenen Schritten importieren.
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
)
Wenn Sie ein tabellarisches Dataset mit einem Pandas-DataFrame
erstellen, müssen Sie eine BigQuery-Tabelle verwenden, um die Daten für Vertex AI bereitzustellen:
my_dataset = aiplatform.TabularDataset.create_from_dataframe(
df_source=my_pandas_dataframe,
staging_path=f"bq://{bq_dataset_id}.table-unique"
)
TimeSeriesDataset
Verwenden Sie diese Klasse, um mit Zeitreihen-Datasets zu arbeiten. Eine Zeitreihe ist ein Dataset, das Daten enthält, die in unterschiedlichen Zeitintervallen aufgezeichnet wurden. Das Dataset enthält die Zeit und mindestens eine von der Zeit abhängige Variable. Sie verwenden ein Zeitreihen-Dataset für Prognosen. Weitere Informationen finden Sie unter Übersicht über Prognosen.
Sie können ein verwaltetes Zeitreihen-Dataset aus CSV-Dateien in einem Cloud Storage-Bucket oder aus einer BigQuery-Tabelle erstellen.
Der folgende Code zeigt, wie Sie ein TimeSeriesDataset
erstellen, indem Sie eine CSV-Datenquellendatei importieren, die das Zeitachsen-Dataset enthält:
my_dataset = aiplatform.TimeSeriesDataset.create(
display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])
Im folgenden Code wird gezeigt, wie Sie die Erstellung eines TimeSeriesDataset
mit einer BigQuery-Tabellendatei durchführen, die das Zeitreihen-Dataset enthält:
my_dataset = aiplatform.TimeSeriesDataset.create(
display_name="my-dataset", bq_source=['bq://path/to/my/bigquerydataset.train'])
Klassen unstrukturierter Daten
Die folgenden Klassen funktionieren mit unstrukturierten Daten, die nicht in einer herkömmlichen relationalen Datenbank gespeichert werden können. Die Daten werden häufig als Audio-, Text- oder Videodateien oder als NoSQL-Datenbank gespeichert.
ImageDataset
Verwenden Sie diese Klasse, um mit einem verwalteten Bild-Dataset zu arbeiten. Zum Erstellen eines verwalteten Bild-Datasets benötigen Sie eine Datenquellendatei im CSV-Format und eine Schemadatei im YAML-Format. Für ein benutzerdefiniertes Modell ist ein Schema optional. Auf die CSV-Datei und das Schema wird in Cloud Storage-Buckets zugegriffen.
Verwenden Sie Bilddaten für die folgenden Ziele:
- Klassifizierung mit einem einzigen Label. Weitere Informationen finden Sie unter Bildtrainingsdaten für die Klassifizierung mit einem einzigen Label vorbereiten.
- Klassifizierung mit mehreren Labels. Weitere Informationen finden Sie unter Bildtrainingsdaten für die Klassifizierung mit mehreren Labels vorbereiten.
- Objekterkennung. Weitere Informationen finden Sie unter Bildtrainingsdaten für die Objekterkennung vorbereiten.
Im folgenden Code wird gezeigt, wie Sie durch Erstellen einer CSV-Datenquellendatei und einer YAML-Schemadatei ein Bild-Dataset erstellen. Welche Schemadatei Sie verwenden, hängt davon ab, ob Ihr Bild-Dataset für die Klassifizierung mit einem einzigen Label, die Klassifizierung mit mehreren Labels oder die Objekterkennung verwendet wird.
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
Verwenden Sie diese Klasse für die Arbeit mit einem verwalteten Text-Dataset. Zum Erstellen eines Text-Datasets benötigen Sie eine Datenquelle im CSV-Format und ein Schema im YAML-Format. Für ein benutzerdefiniertes Modell ist ein Schema optional. Auf die CSV-Datei und das Schema wird in Cloud Storage-Buckets zugegriffen.
Verwenden Sie Textdaten für die folgenden Ziele:
- Klassifizierung. Weitere Informationen finden Sie unter Texttrainingsdaten für die Klassifizierung vorbereiten.
- Entitätsextraktion. Weitere Informationen finden Sie unter Texttrainingsdaten für die Entitätsextraktion vorbereiten.
- Sentimentanalyse. Weitere Informationen finden Sie unter Texttrainingsdaten für die Sentimentanalyse vorbereiten.
Im folgenden Code wird gezeigt, wie Sie ein Text-Dataset erstellen, indem Sie eine CSV-Datenquellendatei und eine YAML-Schemadatei importieren. Welche Schemadatei Sie verwenden, hängt davon ab, ob Ihr Text-Dataset für die Klassifizierung, die Entitätsextraktion oder die Sentimentanalyse verwendet wird.
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
Verwenden Sie diese Klasse für die Arbeit mit einem verwalteten Video-Dataset. Zum Erstellen eines Video-Datasets benötigen Sie eine CSV-Datenquellendatei und ein Schema im YAML-Format. Auf die CSV-Datei und das Schema wird in Cloud Storage-Buckets zugegriffen.
Verwenden Sie Videodaten für die folgenden Ziele:
- Klassifizierung. Weitere Informationen finden Sie unter Schemadateien für die Klassifizierung.
- Aktionserkennung. Weitere Informationen finden Sie unter Schemadateien für die Aktionserkennung.
- Objekt-Tracking. Weitere Informationen finden Sie unter Schemadateien für das Objekt-Tracking.
Im folgenden Code wird gezeigt, wie Sie ein Dataset zum Trainieren eines Videoklassifizierungsmodells erstellen, indem Sie eine CSV-Datenquellendatei importieren. Welche Schemadatei Sie verwenden, hängt davon ab, ob Sie Ihr Video-Dataset zur Klassifizierung, Aktionserkennung oder zum Objekt-Tracking verwenden.
my_dataset = aiplatform.VideoDataset.create(
gcs_source=['gs://path/to/my/dataset.csv'],
import_schema_uri=['gs://aip.schema.dataset.ioformat.video.classification.yaml']
)
Vertex AI Feature Store-Datenklassen
Vertex AI Feature Store ist ein verwalteter Dienst zum Speichern, Bereitstellen, Verwalten und Freigeben von ML-Features in großem Maßstab.
Vertex AI Feature Store verwendet ein Zeitreihen-Datenmodell, das aus drei Klassen für Features besteht, die sie sich im Laufe der Zeit ändern. Die drei Klassen sind in der folgenden hierarchischen Reihenfolge organisiert:
Weitere Informationen zum Datenmodell von Vertex AI Feature Store finden Sie unter Datenmodell und Ressourcen. Weitere Informationen zu den Anforderungen an die Datenquelle von Vertex AI Feature Store finden Sie unter Anforderungen an Quelldaten.
Die folgenden Klassen werden mit Vertex AI Feature Store-Daten verwendet.
Featurestore
Die Feature Store-Ressource, dargestellt durch die Klasse Featurestore
, ist die Klasse der obersten Ebene in der Datenmodellhierarchie von Vertex AI Feature Store.
Die Ressource der nächsten Ebene im Datenmodell ist der Entitätstyp. Dies ist eine Sammlung semantisch verwandter Features, die Sie erstellen. Im Folgenden sind einige der Featurestore
-Methoden aufgeführt, die mit Entitätstypen funktionieren:
Entitätstyp erstellen
Verwenden Sie die Featurestore
.create_entity_type
-Methode mit einer entity_type_id
, um eine Entitätstyp-Ressource zu erstellen. Eine Entitätstyp-Ressource wird durch die Klasse EntityType
dargestellt. entity_type_id
ist alphanumerisch und muss in einem Feature Store eindeutig sein. Im Folgenden finden Sie ein Beispiel für das Erstellen eines Entitätstyps:
entity_type = aiplatform.featurestore.create_entity_type(
entity_type_id=my_entity_type_name, description=my_entity_type_description
)
Entitätstypen bereitstellen
Verwenden Sie eine der drei Featurestore
-Methoden, um Entitätsdatenelemente bereitzustellen:
Mit
batch_serve_to_bq
werden Daten in einer BigQuery-Tabelle bereitgestellt.batch_serve_to_df
stellt Daten an einen Pandas-DataFrame
bereit.batch_serve_to_gcs
stellt Daten in einer CSV-Datei oder einer TensorFlow-TFRecord
-Datei bereit.
EntityType
Die Klasse EntityType
stellt eine Entitätstyp-Ressource dar. Dies ist eine Sammlung semantisch verwandter Features, die Sie definieren. Ein Musikdienst könnte beispielsweise die Entitätstypen musical_artist
und user
haben. Sie können die Methode FeatureStore.create_entity_type
oder die Methode EntityType.create
verwenden, um einen Entitätstyp zu erstellen. Der folgende Code zeigt die Verwendung von EntityType.create
:
entity_type = aiplatform.EntityType.create(
entity_type_id=my_entity_type_name, featurestore_name=featurestore_name
)
Feature
Die Klasse Feature
stellt eine Feature-Ressource dar, die ein messbares Attribut oder ein Attribut eines Entitätstyps ist. Der Entitätstyp musical_artist
kann beispielsweise Features wie date_of_birth
und last_name
haben, um verschiedene Attribute von Musikinterpreten zu verfolgen. Features müssen für einen Entitätstyp eindeutig sein, aber nicht global eindeutig.
Wenn Sie ein Feature
erstellen, müssen Sie den Werttyp angeben, z. B. BOOL_ARRAY
, DOUBLE
, DOUBLE_ARRAY
oder STRING
. eine Der folgende Code zeigt ein Beispiel für das Erstellen eines Features:
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',
)