问题标签 [kubeflow-pipelines]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
39 浏览

python - 如何在 Azure 上的对象检测 API 的分布式训练作业 (TF 作业) 中设置数据访问

一段时间以来,我一直在尝试为TensorFlow 对象检测 API设置分布式训练。我对如何将我的数据准确地设置到工作中有点困惑。Azure

以前,我曾经gcloud使用 AI 平台轻松完成这项工作。我只需要:

其中 config.yaml 包含集群配置,JOB_DIR、MODEL_DIR、PIPELINE_PATH 都指向各自的桶存储位置(gs://*)。我的训练数据也曾经存储在存储桶中,并且位置在我的 pipeline.config 中指定。

现在在 Azure 上,似乎没有直接的方法可以运行分布式训练作业。我已经使用 AKS 部署了一个 GPU 加速的 Kubernetes 集群,然后安装了 NVIDIA 驱动程序。我还部署了 Kubeflow,并对对象检测 API 进行了 docker 化。

我的数据以 tfrecords 的形式存在于 Azure blob 存储容器中。我正在查看的 Kubeflow 示例/文档(TFJobAzureEndtoEnd)分配持久卷,这看起来很棒,但我不明白我的工作/培训代码将如何访问我的 tfrecords。

(我一直想知道是否可以在 Azure 端到端管道的预处理部分azure-storage-blob做一些事情;在那里我可以编写一些 python 代码行来使用python 库下载数据。这仍然是猜想,我还没有还没试过。)

因此,对于这个难题的任何帮助将不胜感激。如果有人指出任何有用的最新资源,我也将不胜感激。以下是我查看的其他两个资源:

0 投票
0 回答
96 浏览

google-cloud-platform - AI Platform Pipelines 有时会随机失败

我已经使用 AI Platform Pipelines (v0.2.5) 好几个月了。我重建了 Pipelines 实例,因为我在控制台上找到了更新的版本 (v0.5.1)。我现在正忙于完成管道。

这很奇怪,因为似乎没有失败模式。

  • Pods(Components) 随机失败。大多数 pod 成功完成,而有些失败。此外,失败的 pod 因执行时间而异。
  • Pods 随机告诉我下面两个的错误消息。
  1. 文件“”,第 3 行,在 raise_from google.auth.exceptions.RefreshError中:(“无法从Google Compute Engine 元数据服务。状态:500 响应:\nb'Could not recurdively fetch uri\n'", <google.auth.transport.requests._Response object at 0x7fe5729c9650>)

在 GKE 集群工作负载标识已设置。我肯定确认了程序并且设置没有问题。尽管某些 pod 失败,但其他 pod 使用 Workload Identity 成功运行。当然,Google Cloud Credentials API 已启用。

我不知道这些问题是由更新 Pipelines 实例引起的。

有任何想法吗?

0 投票
1 回答
2304 浏览

python - 如何在 kubeflow 管道中定义管道级卷以跨组件共享?

Kubernetes容器间通信教程定义了以下管道 yaml:

请注意,volumes密钥在 下定义spec,因此该卷可用于所有已定义的容器。我想使用kfp来实现相同的行为,它是 kubeflow 管道的 API。

但是,我只能将卷添加到单个容器,而不是使用kfp.dsl.ContainerOp.container.add_volume_mount指向先前创建的卷 ( kfp.dsl.PipelineVolume ) 的整个工作流规范,因为卷似乎只在容器中定义。

这是我尝试过的,但卷总是在第一个容器中定义,而不是“全局”级别。如何获取它以便可以op2访问该卷?我原以为它会在kfp.dsl.PipelineConf内,但无法将卷添加到其中。只是没有实施吗?

0 投票
0 回答
62 浏览

kubeflow - 有没有办法自定义 Kubeflow Pipeline 可视化的名称?

我创建了一个具有并行独立操作的管道,每个操作都返回混淆矩阵、ROC 曲线和其他指标。

每个输出可视化都有一个默认标题,如混淆矩阵混淆矩阵 2,不允许理解它来自哪个分支。

在此处输入图像描述

有没有办法动态自定义此功能作为管道步骤的名称?

0 投票
2 回答
680 浏览

python - 如何从组件中获取 Kubeflow 管道运行名称?

我正在使用 Kubeflow 管道。我想从任务组件内部访问“运行名称”。例如,在下图中,运行名称是“我的第一次 XGBoost 运行”——如标题所示。

在此处输入图像描述

例如,我知道可以通过将参数作为命令行参数传递来获取工作流 ID 。{{workflow.uid}}我也尝试过Argo 变量 {{ workflow.name }},但这并没有给出正确的字符串。

0 投票
1 回答
62 浏览

kubeflow - Kubeflow:如何提供文件作为管道输入(参数)

据我了解,Kubeflow python 只接受字符串参数,但在我需要管道的情况下,用户应该能够提供文件作为输入。我怎样才能做到这一点?最好的

0 投票
2 回答
97 浏览

docker - 有没有办法在 gcp 中自动构建 kubeflow 管道

这是我的 cloudbuild.yaml 文件

所以基本上我要做的是编写一个包含所有变量的bash脚本,并且在我推送更改时,云构建应该自动触发。

0 投票
1 回答
337 浏览

kubernetes - Kubeflow-kale :- 如何集成 kubeflow-kale 扩展以在单独的 Kubeflow 管道集群上运行管道

我目前正在尝试在未安装 Kubernetes 和 kubeflow 的本地 jupyterlab 服务器上使用 kubeflow kale jupyter 扩展,并尝试在 GCP AI 管道服务器或任何其他 Cloud Kubeflow 管道服务器上运行我的代码管道。我可以通过 kubeflow 管道 SDK 来做到这一点(因为它具有添加主机名详细信息的功能)。但是当试图通过 kubeflow-kale 扩展来实现时,它不起作用。据我所知,我们需要提供我无法在 kubeflow-kale UI 扩展下拉字段中添加的 Kubeflow 管道服务器的主机名。我探索了很多 kubeflow-kale 材料和博客,但无法找到解决方案。几乎所有关于 Kubeflow-kale 实现的博客和资料都在 Kubeflow 托管的笔记本服务器上完成

任何人都可以帮助我解决有关 Kubeflow-kale 的以下疑问:-

  1. Kubeflow-kale 仅支持 kubeflow 托管的笔记本服务器?
  2. 如果否,我们如何提供在 GCP AI Pipelines 等远程服务器上运行管道的选项?
0 投票
1 回答
125 浏览

python - 我为 kubeflow 管道部署创建了一个 cloudbuild.json。但它给出错误说文件不存在

这是我的 cloudbuild.json

问题出在第 2 步:这是我得到的错误 “第 2 步:gcr.io/dmgcp-pkg-internal-poc-oct-04/kfp-cli:latest 第 2 步:/bin/bash:dsl-编译 --py covertype_training_pipeline.py --output covertype_training_pipeline.yaml:没有这样的文件或目录完成步骤#2“ 我正在运行这个命令来运行管道“!gcloud builds submit.--config cloudbuild.json”

她是我的文件夹结构 在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
59 浏览

python - 如何在 google cloudbuild 步骤中保留变量?

我有一个 cloudbuild.json,用于将管道上传到 gcp kubeflow。现在我想添加另一个步骤,我想在其中获取最新的管道 ID,然后将管道作为实验运行。所以我的主要问题是我应该如何在后续步骤中获取管道 ID。我编写了一个小脚本来获取最新的管道 ID,并将其添加为从 docker 运行的步骤,但现在我不确定如何获取此管道 ID。

这是我的 coudbuild.json

这是我获取最新管道 ID 的 python 脚本