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 简介。
如需详细了解如何使用 Experiment
和 ExperimentRun
类,请尝试学习以下教程之一:
- 构建 Vertex AI Experiments 实验沿袭以进行自定义训练
- 跟踪本地训练的模型的参数和指标
- 通过 Vertex AI Experiments 实验比较各流水线运行
- Vertex AI Experiments 使用入门
Experiment
Experiment
类表示 Vertex AI 中的实验。使用各种不同的配置(例如各种输入工件和超参数)通过实验分析其实验运行作业和流水线运行作业。
您可以通过以下两种方式创建 Experiment
资源:
创建
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)
您也可以通过调用
aiplatform.Experiment.create
来创建Experiment
。aiplatform.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,请尝试学习以下笔记本教程之一:
- 使用 Vertex AI TensorBoard Profiler 分析模型训练性能
- 使用自定义容器进行 Vertex AI TensorBoard 自定义训练。
- 使用预构建容器进行 Vertex AI TensorBoard 自定义训练
- 使用 HParams 信息中心进行 Vertex AI TensorBoard 超参数调节
- 使用 Vertex AI TensorBoard Profiler 来分析模型训练性能
- 在通过预构建容器进行的自定义训练中使用 Vertex AI TensorBoard Profiler 来分析模型训练性能
- 在通过预构建容器进行的自定义训练中使用 Vertex AI TensorBoard Profiler 来分析模型训练性能
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
类表示在训练运行作业中生成的时序。
后续步骤
- 了解 Vertex AI SDK。