TensorFlow 扩展了 Kubeflow 多个 Worker

TensorFlow Extended Kubeflow Multiple Workers

我在 Kubeflow DAG Runner 上遇到 TFX 问题。问题是我设法为每个 运行 只启动了一个 pod。除了 Apache Beam 参数外,我没有看到任何“工作人员”的配置,这没有帮助。

运行 一个 pod 上的 CSV 加载导致 OOMKilled 错误,因为文件超过 5GB。我尝试将文件分成 100MB 的部分,但这也没有帮助。

所以我的问题是:如何在多个“worker”pods 上 运行 Kubeflow 上的 TFX job/stage,或者甚至可能吗?

这是我一直在使用的代码:

examples = external_input(data_root)
example_gen = CsvExampleGen(input=examples)
statistics_gen = StatisticsGen(examples=example_gen.outputs['examples'])

dsl_pipeline = pipeline.Pipeline(
  pipeline_name=pipeline_name,
  pipeline_root=pipeline_root,
  components=[
      example_gen, statistics_gen
  ],
  enable_cache=True,
  beam_pipeline_args=['--num_workers=%d' % 5]
)


if __name__ == '__main__':
    tfx_image = 'custom-aws-imgage:tfx-0.26.0'
    config = kubeflow_dag_runner.KubeflowDagRunnerConfig(
        kubeflow_metadata_config=kubeflow_dag_runner.get_default_kubeflow_metadata_config(),
        tfx_image=tfx_image)
    kfp_runner = kubeflow_dag_runner.KubeflowDagRunner(config=config)
    # KubeflowDagRunner compiles the DSL pipeline object into KFP pipeline package.
    # By default it is named <pipeline_name>.tar.gz
    kfp_runner.run(dsl_pipeline)

环境:

看来这在当时是不可能的。 看: https://github.com/kubeflow/kubeflow/issues/1583