跟踪类

Python 版 Vertex AI SDK 包含可帮助您监控可视化效果、测量结果和跟踪记录的类。这些类可以分为三类:

  • 使用元数据跟踪机器学习 (ML) 工作流中的资源的类
  • 用于 Vertex AI Experiments 的类
  • 用于 Vertex AI TensorBoard 的类

以下主题简要介绍了用于在 Python 版 Vertex AI SDK 中跟踪和监控机器学习工作流的类。

元数据类

您可以使用 Python 版 Vertex AI SDK 创建 Vertex ML Metadata 元数据,以帮助您跟踪和分析机器学习工作流中的元数据。如需了解详情,请参阅 Vertex ML Metadata 简介

Artifact

Artifact 类表示 Vertex AI 工件中的元数据。工件是机器学习工作流生成的离散实体或数据块。例如,工件可以是数据集模型输入文件。如需了解详情,请参阅跟踪执行和工件

创建 Artifact 资源时,您需要指定其架构。每种类型的工件都具有自己专有的架构。例如,system.Dataset 架构表示数据集,system.Metrics 架构表示评估指标。如需了解详情,请参阅如何使用系统架构

以下示例代码展示了如何创建表示模型的 Artifact 资源:

model_artifact = aiplatform.Artifact.create(
        schema_title="system.Model",
        display_name=PREPROCESSED_DATASET_NAME,
        uri=PREPROCESSED_DATASET_URI,

Execution

Execution 类表示 Vertex AI 执行中的元数据。执行是机器学习工作流中的一个步骤。例如,执行可以是数据处理、训练或模型评估。执行可能会使用工件(例如数据集),也可能会生成工件(例如模型)。

使用 aiplatform.start_execution 创建 Execution 资源。创建 Execution 资源后,使用相同的 aiplatform.start_execution 方法并将 resume 参数设置为 True,以恢复执行。

以下示例代码展示了如何创建 Execution 资源:

with aiplatform.start_execution(schema_title='system.ContainerExecution',
                                display_name='trainer') as execution:
    execution.assign_input_artifacts([my_artifact])
    model = aiplatform.Artifact.create(uri='gs://my-uri', schema_title='system.Model')
    execution.assign_output_artifacts([model])

Vertex AI Experiments 类

您可以使用 Python 版 Vertex AI SDK 创建并运行 Vertex AI Experiments 实验。可通过 Vertex AI Experiments 实验跟踪记录的指标和参数,以帮助您分析和优化机器学习工作流。如需了解详情,请参阅 Vertex AI Experiments 简介

如需详细了解如何使用 ExperimentExperimentRun 类,请尝试学习以下教程之一:

Experiment

Experiment 类表示 Vertex AI 中的实验。使用各种不同的配置(例如各种输入工件和超参数)通过实验分析其实验运行作业流水线运行作业

您可以通过以下两种方式创建 Experiment 资源:

  1. 创建 Experiment 的首选方法是在调用 aiplatform.init 时将实验的名称指定为一个参数:

    # In a real world scenario it's likely you would specify more parameters
    # when you call aiplatform.init. This sample shows only how to use the
    # parameter used to create an Experiment.
    
    # Specify a name for the experiment
    EXPERIMENT_NAME = "your-experiment-name"
    
    # Create the experiment
    aiplatform.init(experiment=EXPERIMENT_NAME)
    
  2. 您也可以通过调用 aiplatform.Experiment.create 来创建 Experimentaiplatform.Experiment.create 会创建 Experiment 资源,但不会将其设置为全局环境。因此,您无法使用 aiplatform.start_run 运行实验。以下示例代码展示了如何使用 aiplatform.Experiment.create 创建实验,然后运行该实验:

    # Specify a name for the experiment
    EXPERIMENT_NAME = "your-experiment-name"
    EXPERIMENT_RUN_NAME = "your-run"
    
    # Create the experiment
    experiment = aiplatform.Experiment.create(experiment_name=EXPERIMENT_NAME)
    experiment_run = aiplatform.ExperimentRun.create(EXPERIMENT_RUN_NAME, experiment=EXPERIMENT_NAME)
    

ExperimentRun

ExperimentRun 类表示实验的运行作业。

以下示例代码展示了如何创建和启动实验运行作业,然后用其获取有关实验的信息。如需删除实验运行作业,请引用 ExperimentRun 实例并对其调用 delete 方法。

# Specify your project name, location, experiment name, and run name
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
EXPERIMENT_NAME = "experiment-1"
RUN_NAME = "run-1"

# Create the experiment to run
aiplatform.init(experiment_name=EXPERIMENT_NAME,
                project=PROJECT_NAME,
                location=LOCATION)

# Create and run an ExperimentRun resource. Next, you can use it to get
# information about your experiment. For example, you can log parameters and
# metrics with specified key-value pairs.
with aiplatform.start_run(RUN_NAME):
     aiplatform.log_params({'learning_rate': 0.1, 'dropout_rate': 0.2})
     aiplatform.log_metrics({'accuracy': 0.9, 'recall': 0.8})

# Get a reference to the ExperimentRun resource, get the parameters logged to
# the run, get the summary metrics logged to the run, then delete it.
with aiplatform.start_run(RUN_NAME, resume=True) as run:
     run.get_params()
     run.get_metrics()
     run.delete()

Vertex AI TensorBoard 类

Python 版 Vertex AI SDK 包含可对开源 Vertex AI TensorBoard 代管版本使用的类。Vertex AI TensorBoard 是一种用于在机器学习工作流执行期间监控测量结果和可视化效果的工具。如需了解详情,请参阅 Vertex AI TensorBoard 使用入门

如需详细了解如何搭配 Vertex AI TensorBoard 使用 Python 版 Vertex AI SDK,请尝试学习以下笔记本教程之一:

Tensorboard

Tensorboard 类表示用来存储 Vertex AI TensorBoard 实验的代管式资源。您需要先创建一个 Tensorboard 实例,然后才能直观呈现实验。您可以在一个 Google Cloud 项目中创建多个 Tensorboard 实例。

以下示例代码展示了如何创建 Tensorboard 实例:

# Specify your project name, location, and the name of your Tensorboard
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
TENSORBOARD_NAME = "my-tensorboard"

aiplatform.init(project=PROJECT_NAME, location=LOCATION)

tensorboard = aiplatform.Tensorboard.create(
    display_name=TENSORBOARD_NAME,
    project=PROJECT_NAME,
    location=LOCATION,
)

TensorboardExperiment

TensorboardExperiment 表示一组 TensorboardRun 对象。TensorboardRun 实例表示在 TensorBoard 中运行的训练作业的结果。

TensorboardRun

TensorboardRun 类的实例会映射到在 TensorBoard 中运行的训练作业,并会指定一组超参数以及模型定义、数据集等信息。

TensorboardTimeSeries

TensorboardTimeSeries 类表示在训练运行作业中生成的时序。

后续步骤