在 GitHub 上编辑

dag

管道 可视化为一个或多个 阶段 的依赖关系图。

概要

usage: dvc dag [-h] [-q | -v] [-o] [--full]
               [--md] [--mermaid] [--dot]
               [target]

positional arguments:
  target          Stage or output to show pipeline for (optional)
                  Uses all stages in the workspace by default.

描述

DVC 在内部将每个管道表示为一个有向无环图DAG),其中节点是阶段,边是依赖关系。

dvc dag 显示在 项目 中找到的 dvc.yaml 文件中定义的一个或多个管道的阶段依赖关系图。提供一个 target 阶段名称以显示到该点为止的管道。

分页输出

如果终端中可用,此命令的输出会自动通过管道传送到 less(使用的具体命令是 less --chop-long-lines --clear-screen)。如果不可用 less(例如在 Windows 上),则直接打印输出内容。

也可以在 Windows 上启用 less

请注意,这也适用于 dvc exp show

提供自定义分页工具

可以通过 DVC_PAGER 环境变量覆盖默认的分页工具。将其设置为 PATH 中可找到的程序,或提供完整路径。例如在 Linux shell 中:

$ DVC_PAGER=more dvc exp show  # Use more as pager once.
...

$ export DVC_PAGER=more  # Set more as pager for all commands.
$ dvc exp show ...

如需持久更改,请在 shell 配置中设置 DVC_PAGER,例如在 Bash 中的 ~/.bashrc 文件中。

选项

  • -o, --outs - 显示链式依赖项和输出的 DAG,而不是阶段本身。图形可能会显著不同。

  • --full - 显示 target 阶段所属的完整 DAG,而不仅仅是其祖先。

  • --md - 以 --mermaid 格式显示 DAG,并包裹在 Markdown 代码块 内。

    这可用于将 dvc dagcml send-comment 结合使用。

  • --mermaid - 以 Mermaid 格式显示 DAG。它可以传递给第三方可视化工具。

  • --dot - 以 DOT 格式显示 DAG。它可以传递给第三方可视化工具。

  • -h, --help - 打印使用说明/帮助信息,然后退出。

  • -q, --quiet - 不向标准输出写入任何内容。如果没有问题则以 0 退出,否则以 1 退出。

  • -v, --verbose - 显示详细的跟踪信息。

示例:可视化 DVC 管道

可视化在 dvc.yaml 中定义的管道的 prepare、featurize、train 和 evaluate 阶段:

$ dvc dag
         +---------+
         | prepare |
         +---------+
              *
              *
              *
        +-----------+
        | featurize |
        +-----------+
         **        **
       **            *
      *               **
+-------+               *
| train |             **
+-------+            *
         **        **
           **    **
             *  *
        +----------+
        | evaluate |
        +----------+

还可以从阶段输出/依赖项如何连接的角度查看该管道(使用 --outs 选项)。请注意,生成的图形可能有所不同:

$ dvc dag --outs
                  +---------------+
                  | data/prepared |
                  +---------------+
                          *
                          *
                          *
                  +---------------+
                  | data/features |
                **+---------------+**
            ****          *          *****
       *****              *               ****
   ****                   *                   ****
***                 +-----------+                 ***
  **                | model.pkl |                **
    **              +-----------+              **
      **           **           **           **
        **       **               **       **
          **   **                   **   **
      +-------------+            +----------+
      | scores.json |            | prc.json |
      +-------------+            +----------+

示例:Mermaid 流程图

--mermaid 标志将生成Mermaid 格式的流程图

$ dvc dag --mermaid
flowchart TD
        node1["data/data.xml.dvc"]
        node2["evaluate"]
        node3["featurize"]
        node4["prepare"]
        node5["train"]
        node1-->node4
        node3-->node2
        node3-->node5
        node4-->node3
        node5-->node2

当传入 --md 标志时,Mermaid 输出将被包裹在 Markdown 代码块 内。请注意,此输出会在 GitHubGitLab 中自动渲染为图表。

你可以将 dvc dag --md 与 CML 的 cml send-comment 命令结合使用:

dvc dag --md >> dag.md
cml send-comment dag.md
内容

🐛 发现问题?告诉我们!或者修复它:

在 GitHub 上编辑

有疑问?加入我们的聊天,我们会为您提供帮助:

Discord 聊天