Vertex AI Pipelines 提供了一组预定义的可视化类型(例如 Metrics
、ClassificationMetrics
),用于评估流水线作业的结果。但是,在许多情况下需要自定义可视化。Vertex AI Pipelines 提供了两种输出自定义可视化工件的主要方法:Markdown 和 HTML 文件。
导入所需的依赖项
在开发环境中,导入所需的依赖项。
from kfp import dsl
from kfp.dsl import (
Output,
HTML,
Markdown
)
输出 HTML
要导出 HTML 文件,请使用 Output[HTML]
工件定义组件。您还必须将 HTML 内容写入工件的路径。在此示例中,您将使用字符串变量表示 HTML 内容。
@dsl.component
def html_visualization(html_artifact: Output[HTML]):
public_url = 'https://user-images.githubusercontent.com/37026441/140434086-d9e1099b-82c7-4df8-ae25-83fda2929088.png'
html_content = \
'<html><head></head><body><h1>Global Feature Importance</h1>\n<img src="{}" width="97%"/></body></html>'.format(public_url)
with open(html_artifact.path, 'w') as f:
f.write(html_content)
Google Cloud 控制台中的 HTML 工件:
Google Cloud 控制台中的 HTML 工件信息:
点击“查看 HTML”以打开新标签页中的 HTML 文件
输出 Markdown
要导出 Markdown 文件,请使用 Output[Markdown]
工件定义组件。您还必须将 Markdown 内容写入工件的路径。在此示例中,您将使用字符串变量表示 Markdown 内容。
@dsl.component
def markdown_visualization(markdown_artifact: Output[Markdown]):
import urllib.request
with urllib.request.urlopen('https://gist.githubusercontent.com/zijianjoy/a288d582e477f8021a1fcffcfd9a1803/raw/68519f72abb59152d92cf891b4719cd95c40e4b6/table_visualization.md') as table:
markdown_content = table.read().decode('utf-8')
with open(markdown_artifact.path, 'w') as f:
f.write(markdown_content)
Google Cloud 控制台中的 Markdown 工件:
Google Cloud 控制台中的 Markdown 工件信息:
创建流水线
使用 HTML 或 Markdown 工件定义组件后,您可以创建并运行使用该组件的流水线。
@dsl.pipeline(
name=f'metrics-visualization-pipeline')
def metrics_visualization_pipeline():
html_visualization_op = html_visualization()
markdown_visualization_op = markdown_visualization()
提交流水线运行后,您可以在 Google Cloud 控制台中查看此运行的图示。此图包含您在相应组件中声明的 HTML 和 Markdown 工件。您可以选择这些工件来查看详细的可视化效果。