Datenklassen

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:

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:

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:

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:

Vertex AI Feature Store-Klassenhierarchie

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:

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

Nächste Schritte