【问题标题】:How do I pass output of one node as an input parameter to another node in Argo workflow DAG如何将一个节点的输出作为输入参数传递给 Argo 工作流 DAG 中的另一个节点
【发布时间】:2020-01-17 19:13:27
【问题描述】:

我正在尝试使用 Argo 构建 ML 管道 DAG。我遇到了一个问题,我需要将 DAG 中一个节点的值作为参数发送到其后续节点。假设 ARGO DAG 结构如下所示:

{
  "apiVersion": "argoproj.io/v1alpha1",
  "kind": "Workflow",
  "metadata": {
    "generateName": "workflow01-"
  },
  "spec": {
    "entrypoint": "workflow01",
    "arguments": {
      "parameters": [
        {
          "name": "log-level",
          "value": "INFO"
        }
      ]
    },
    "templates": [
      {
        "name": "workflow01",
        "dag": {
          "tasks": [
            {
              "name": "A",
              "template": "task-container",
              "arguments": {
                "parameters": [
                  {
                    "name": "model-type",
                    "value": "INTENT-TRAIN"
                  }
                ]
              }
            },
            {
              "name": "B",
              "template": "task-container",
              "dependencies": ["A"],
              "arguments": {
                "parameters": [
                  {
                    "name": "model-type",
                    "value": "INTENT-EVALUATE"
                  }
                ]
              }
            }
          ]
        }
      },
      {
        "name": "task-container",
        "inputs": {
          "parameters": [
            {
              "name": "model-type",
              "value": "NIL"
            }
          ]
        },
        "container": {
          "env": [
            {
              "name": "LOG_LEVEL",
              "value": "{{workflow.parameters.log-level}}"
            },
            {
              "name": "MODEL_TYPE",
              "value": "{{inputs.parameters.model-type}}"
            }
          ]
        }
      }
    ]
  }
}

A -> B

B 中发生的计算取决于 A 中已计算的值。

如何将 A 中计算的值传递给 B?

【问题讨论】:

    标签: machine-learning workflow argoproj argo-workflows


    【解决方案1】:

    您可以为此使用 Argo 的“工件” - 请参阅 https://github.com/argoproj/argo-workflows/tree/master/examples#artifacts 上的示例

    另一种方法是设置共享卷:https://github.com/argoproj/argo-workflows/tree/master/examples#volumes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多