跳过主要内容

可视化结果

如果你想与人类分享流程的结果或自己检查结果,可以选择使用 Jupyter 笔记本和 Metaflow Client API,这是进行临时分析和探索的好组合。

如果你对每次执行想观察的信息有一个好的想法,自动生成相关报告将更加方便。Metaflow 附带一个内置机制,可以用几行代码创建和查看这样的报告,称为 cards。这些卡片可以包含任何图像、文本和表格,帮助你观察流程。

tip

从 Metaflow 2.11 开始,任务执行时卡片可以实时更新,因此您可以使用它们来监控进度并可视化运行任务的中间结果。

什么是卡片?

要了解卡片如何使机器学习项目可观察,请查看以下简短视频:


以下是一些适合使用卡片的示例用例:

  • 每次任务执行时创建模型性能或数据质量的报告,例如,每当训练一个新模型时。
  • 监控长期运行任务的进度。
  • 与非技术利益相关者共享可读的人类结果。
  • 通过在开发过程中将适当的卡片附加到流程来调试任务行为。
  • 实验跟踪:比较多个运行的结果

相比之下,卡片并不是为了构建复杂的交互式仪表板或用于临时探索,这正是笔记本的一个精确用例。如果你感兴趣,可以在原始发布博客文章更新卡片的公告文章中阅读更多关于卡片动机的信息。

如何使用卡片?

这段简短的视频(无声)展示了开发者视角的卡片:


您可以在任何 Metaflow 步骤中附加卡片。当与该步骤对应的任务完成时,将执行一段额外的代码,生成一个可视化任务结果的 HTML 文件。在下面的插图中,train 步骤通过使用 foreach 并行训练三个模型。该步骤用 @card 装饰器进行了装饰,因此它会生成一个可读性强的报告,连同其通常的程序结果一起。

每个模型都可以附带一张展示模型验证指标的卡片。例如,您可以轻松自定义卡片,使其看起来像这样:

请注意,卡片不会以任何方式改变工作流程的行为。它们独立于流或任务创建和存储。如果在创建卡片的过程中发生故障,工作流程的执行不会受到影响,这使得卡片在敏感的生产部署中使用是安全的。

如何查看卡片

目前,有三种主要的卡片查看机制,下面将详细讨论:

  1. 您可以使用 the Metaflow CLI 在命令行中查看浏览器中的卡片。
  2. 您可以使用 the get_cards API 以编程方式访问卡片,例如,在笔记本中。
  3. 如果您部署了 Metaflow 监控 GUI,卡片将会自动显示在任务页面,如上面的视频所示。

此外,重要的是,卡片可以在任何计算环境中使用,例如笔记本电脑,任何远程任务,或者当流程安排自动运行时。因此,您可以使用卡片在原型设计期间检查和调试结果,以及监控生产运行的质量。

开始开发卡片

您可以根据自己的需要自定义卡片的内容:您可以将一个 默认卡片 附加到任何现有的工作流中,而无需更改代码中的任何内容。或者,使用几行 Python,您可以通过使用内置的 卡片组件 来创建带有自定义内容的卡片。通过再增加几行代码,您可以在 任务执行期间实时更新卡片

如果您需要更多的灵活性,您可以找到或创建一个 卡片模板 以输出格式化为任意HTML和Javascript的报告。

在以下小节中了解更多关于这些方法的信息:

  1. 轻松的任务检查与默认卡片
  2. 使用卡片组件轻松创建自定义报告
  3. 在任务执行期间更新卡片
  4. 高级的、可分享的卡片与卡片模板

如果您不确定,请从默认卡片开始,该卡片解释了卡片使用的基本知识。有关技术细节,请参阅API参考,其中包含所有卡片API的完整指南

tip

您可以在 Metaflow Sandbox 中方便地在浏览器中交互式地测试示例卡片。