数据类

Vertex AI SDK 包含一些类可用来存储和读取用于训练模型的数据。每个数据相关类都表示一个 Vertex AI 代管式数据集,该数据集可包含结构化数据、非结构化数据或 Vertex AI Feature Store 数据。创建数据集后,您便可以使用它来训练模型。

以下主题简要介绍了 Vertex AI SDK 中的每个数据相关类。每个类对应的主题部分都包含一个代码示例,展示如何创建该类的实例。创建数据集后,您便可以使用其 ID 来对其进行检索:

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

结构化数据类

以下类适用于按行和列组织的结构化数据。结构化数据通常用于存储数字、日期、值和字符串。

TabularDataset

使用此类可以处理表格数据集。您可以使用 CSV 文件、BigQuery 或 Pandas DataFrame 来创建表式数据集。如需详细了解如何对 BigQuery 数据进行分页,请参阅使用分页功能通过 BigQuery API 读取数据。如需详细了解表格数据,请参阅表格数据

以下代码展示了如何通过导入 CSV 文件来创建表格式数据集。

my_dataset = aiplatform.TabularDataset.create(
    display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])

以下代码展示了如何分两个不同的步骤来导入 CSV 文件,从而创建表格数据集。

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
)

如果您要使用 Pandas DataFrame 创建表格数据集,则需要使用 BigQuery 表来暂存 Vertex AI 数据:

my_dataset = aiplatform.TabularDataset.create_from_dataframe(
    df_source=my_pandas_dataframe,
    staging_path=f"bq://{bq_dataset_id}.table-unique"
)

TimeSeriesDataset

可使用此类来处理时序数据集。时序是一个数据集,其中包含以不同时间间隔记录的数据。该数据集包含时间以及至少一个随时间变化的变量。您可以使用时序数据集来进行预测。如需了解详情,请参阅预测概览

您可以通过 Cloud Storage 存储桶中的 CSV 文件或通过 BigQuery 表来创建代管式时序数据集。

以下代码展示了如何通过导入包含时序数据集的 CSV 数据源文件来创建 TimeSeriesDataset

my_dataset = aiplatform.TimeSeriesDataset.create(
    display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])

以下代码展示了如何通过导入包含时序数据集的 BigQuery 表文件来创建 TimeSeriesDataset

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

非结构化数据类

以下类适用于非结构化数据,此类数据无法存储在传统的关系型数据库中。它们通常以音频、文本、视频文件的形式或作为 NoSQL 数据库进行存储。

ImageDataset

可使用此类来处理代管式图片数据集。如需创建代管式图片数据集,您需要一个 CSV 格式的数据源文件和一个 YAML 格式的架构文件。对于自定义模型,不必非提供架构。您可以在 Cloud Storage 存储桶中访问该 CSV 文件和架构。

使用图片数据实现以下目标:

以下代码展示了如何通过导入 CSV 数据源文件和 YAML 架构文件来创建图片数据集。您使用的架构文件取决于图片数据集是用于单标签分类、多标签分类还是对象检测。

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

可使用此类来处理代管式文本数据集。如需创建文本数据集,您需要一个 CSV 格式的数据源和一个 YAML 格式的架构。对于自定义模型,不必非提供架构。您可以在 Cloud Storage 存储桶中访问该 CSV 文件和架构。

使用文本数据实现以下目标:

以下代码展示了如何通过导入 CSV 数据源文件和 YAML 架构文件来创建文本数据集。您使用的架构文件取决于文本数据集是用于分类、实体提取还是情感分析。

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

可使用此类来处理代管式视频数据集。如需创建视频数据集,您需要一个 CSV 数据源文件和一个 YAML 格式的架构。您可以在 Cloud Storage 存储桶中访问该 CSV 文件和架构。

使用视频数据实现以下目标:

以下代码展示了如何通过导入 CSV 数据源文件来创建数据集,以训练视频分类模型。您使用的架构文件取决于视频数据集是用于动作分类、识别还是对象跟踪。

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 数据类

Vertex AI Feature Store 是一项托管式服务,用于大规模存储、传送、管理和共享机器学习特征。

Vertex AI Feature Store 使用由三个类组成的时序数据模型,能够记录特征随时间变化的情况。这三个类按以下层次结构顺序进行组织:

Vertex AI Feature Store 类层次结构

如需详细了解 Vertex AI Feature Store 数据模型,请参阅数据模型和资源。如需了解 Vertex AI Feature Store 数据源要求,请参阅源数据要求

以下类可以用于 Vertex AI Feature Store 数据:

Featurestore

Featurestore 类表示的特征存储区资源是 Vertex AI Feature Store 数据模型层次结构中的顶级类。数据模型中的下一级资源是实体类型,即您创建的语义相关特征的集合。以下是一些可以对实体类型使用的 Featurestore 方法:

创建实体类型

使用 Featurestore.create_entity_type 方法和 entity_type_id 来创建实体类型资源。实体类型资源由 EntityType 类表示。entity_type_id 是字母数字,在特征存储区中必须是唯一的。以下示例展示了如何创建实体类型:

entity_type = aiplatform.featurestore.create_entity_type(
        entity_type_id=my_entity_type_name, description=my_entity_type_description
        )

传送实体类型

使用以下三种 Featurestore 方法之一传送实体数据项:

EntityType

EntityType 类表示实体类型资源,即您定义的语义相关特征的集合。例如,一个音乐类服务可能具有实体类型 musical_artistuser。您可以使用 FeatureStore.create_entity_type 方法或 EntityType.create 方法创建实体类型。以下代码展示了如何使用 EntityType.create 方法创建实体类型:

entity_type = aiplatform.EntityType.create(
        entity_type_id=my_entity_type_name, featurestore_name=featurestore_name
    )

Feature

Feature 类表示特征资源,它是某一实体类型的可衡量属性或特性。例如,musical_artist 实体类型可能具有 date_of_birthlast_name 这样的特征,用于跟踪音乐人的各种属性。特征对于某一特定实体类型必须是唯一的,但不必是全局唯一的。

创建 Feature 时,您必须指定其值类型(例如 BOOL_ARRAYDOUBLEDOUBLE_ARRAYSTRING)。以下代码示例展示了如何创建特征:

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

后续步骤