首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在顶点AI中为单个TFX管道组件指定机器类型

在顶点AI中为单个TFX管道组件指定机器类型
EN

Stack Overflow用户
提问于 2021-06-17 21:06:16
回答 2查看 645关注 0票数 1

我正在使用TFX在顶点AI上构建一个AI管道。我跟随本教程开始,然后我将管道调整到我自己的数据中,它有超过1亿行的时间序列数据。由于内存问题,我的两个组件中途被杀死,所以我只想为这些组件设置内存需求。我使用KubeflowV2DagRunner编排并启动顶点AI中的管道,代码如下:

代码语言:javascript
复制
runner = tfx.orchestration.experimental.KubeflowV2DagRunner(
    config=tfx.orchestration.experimental.KubeflowV2DagRunnerConfig(
        default_image = 'gcr.io/watch-hop/hop-tfx-covid:0.6.2'
    ),
    output_filename=PIPELINE_DEFINITION_FILE)

_ = runner.run(
    create_pipeline(
        pipeline_name=PIPELINE_NAME,
        pipeline_root=PIPELINE_ROOT,
        data_path=DATA_ROOT, metadata_path=METADATA_PATH))

堆栈溢出已经回答了一个相似问题,这使我找到了一种通向在AI平台上设置内存需求的方法,但是这些信任在KubeflowV2DagRunnerConfig中已经不存在了,所以我处于死胡同。

任何帮助都将不胜感激。

编辑**

我们用@component装饰器将组件定义为python函数,因此大多数组件都是自定义组件。对于培训组件,我知道您可以使用tfx.Trainer类指定机器类型,就像在本教程中解释的那样,尽管我的问题是针对没有进行任何培训的自定义组件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-02 17:17:12

但是根据这个问题,这个特性即将到来。

另一种解决方案是将TFX管道转换为Kubeflow管道。顶点AI管道支持kubeflow,您可以在组件级别设置内存和cpu约束。

代码语言:javascript
复制
@component // imported from kfp.dsl
def MyComponent(Input[Dataset] input_data):
  // ...

@pipeline // imported from kfp.dsl
def MyPipeline(...):
  component = MyComponent(...)
  component.set_memory_limit('64G') // alternative to set_memory_request(...)
票数 4
EN

Stack Overflow用户

发布于 2021-12-20 06:20:57

此解决方案的另一种选择是使用数据流波束流道,它允许组件通过顶点运行数据流集群。我仍然需要找到一种为自定义组件指定机器类型的方法。

样本光束输入:

代码语言:javascript
复制
BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS = [
--project=  GOOGLE_CLOUD_PROJECT,
--temp_location= GCS_LOCAITON,
--runner=DataflowRunner

]

现在,您将迁移到顶点AI。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68026549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档